time,_thread thread socket * myHost=myPort=name=(sys.argv)>: name=sys.argv[] : name=sockobj=socket(AF_INET,SOCK_STREAM) sockobj.connect((myHost,myPort)) sockobj.send(name.encode()) recvMsg(): : data=sockobj.recv() data: () (data) sendMsg(): : msg=() sockobj.send(msg) thread.start_new_thread(recvMsg,()) thread.start_new_thread(sendMsg,()) while True: pass
在最开始的时候,并没有添加最后的while循环,所以当线程创建并运行之后,主线程退出了,然后子线程也同时退出,就会在服务器端报ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接错误,所以在添加了最后的while循环后,主线程就会一直运行,就可以了。