36 lines
697 B
Python
36 lines
697 B
Python
|
import socket
|
||
|
import signal
|
||
|
import sys
|
||
|
import datetime
|
||
|
import struct
|
||
|
|
||
|
def signal_handler(sig, frame):
|
||
|
print('\nDone!')
|
||
|
sys.exit(0)
|
||
|
|
||
|
signal.signal(signal.SIGINT, signal_handler)
|
||
|
print('Press Ctrl+C to exit...')
|
||
|
|
||
|
##
|
||
|
|
||
|
ip_addr = "127.0.0.1"
|
||
|
tcp_port = 5005
|
||
|
|
||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||
|
|
||
|
sock.connect((ip_addr, tcp_port))
|
||
|
|
||
|
order=0
|
||
|
while True:
|
||
|
try:
|
||
|
message=input("Message to send? ").encode()
|
||
|
version=1
|
||
|
order+=1
|
||
|
size=len(message)
|
||
|
pkt=struct.pack('!BLL{}s'.format(size),version,size,order,message)
|
||
|
sock.send(pkt)
|
||
|
except (socket.timeout, socket.error):
|
||
|
print('Server error. Done!')
|
||
|
sys.exit(0)
|
||
|
|