import socket,time,datetime,logging,threading
FORMAT="%(asctime)s %(threadName)s %(thread)d %(message)s"
logging.basicConfig(format=FORMAT,level=logging.INFO)
class ChatClient:
def __init__(self,rip='127.0.0.1',port=9999):
self.client=socket.socket()
self.raddr=rip,port
self.even=threading.Event()
def start(self):
self.client.connect(self.raddr)
self.send("hello word")
threading.Thread(target=self.recv,name='recv').start()
def recv(self):
while not self.even.is_set():
data = self.client.recv(1024)
print(data)
def send(self,msg:str):
self.client.send(msg.encode())
def stop(self):
self.even.set()
self.send('quit')
self.client.close()
cs=ChatClient()
cs.start()
while True:
cmd=input(">>>>").strip()
if cmd=='quit':
cs.stop()
break
cs.send(cmd)
logging.info(threading.enumerate())