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循環後,主線程就會一直運行,就可以了。