多线程实现并发的套接字通信
Posted 丫丫625202
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程实现并发的套接字通信相关的知识,希望对你有一定的参考价值。
初版,问题,服务端运行于一台机器上,不能无限制的开线程
server
from socket import * from threading import Thread def communicate(conn): while True: try: data = conn.recv(1024) if not data: break conn.send(data.upper()) except ConnectionResetError: break conn.close() def servers(ip,port): server = socket(AF_INET, SOCK_STREAM) server.bind((ip, port)) server.listen(5) while True: conn,addr=server.accept() print(conn,addr) t=Thread(target=communicate,args=(conn,)) t.start() server.close() if __name__=="__main__": servers("127.0.0.1",8081)
client
from socket import * client=socket(AF_INET,SOCK_STREAM) client.connect(("127.0.0.1",8081)) while True: msg=input(">>:").strip() if not msg:break client.send(msg.encode("utf-8")) data=client.recv(1024) print(data.decode("utf-8")) client.close()
以上是关于多线程实现并发的套接字通信的主要内容,如果未能解决你的问题,请参考以下文章