多线程处理Socket并发 server
#!/usr/bin/env python import socket import threading
server = socket.socket() server.bind(('', 9999)) server.listen(5)
def readThread(conn, addr): """ 创建一个新的线程,负责和一个客户端通讯 :param conn: :param addr: :return: """ while True: data = conn.recv(1024) if data: print('{}:{}'.format(addr, data)) else: print("客户端{}已关闭".format(addr)) break conn.close()
while True: print('------主线程,等待客户端连接------') conn, addr = server.accept() print('创建一个新的线程,和客户端{}通讯'.format(addr)) # 创建一个子线程,负责消息收发 client = threading.Thread(target=readThread, args=(conn, addr)) # 启动线程
|