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)
|
|
|