#select_server.py from socket import * from select import * import sys s=socket() s.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) s.bind(('0.0.0.0',8888)) s.listen(5) rlist=[s] wlist=[] xlist=[] while True: print('Waiting.....') rs,ws,xs=select(rlist,wlist,xlist,5) #表示套接字准备就绪 for r in rs: if r is s: connfd,addr=r.accept() print("connect from ",addr) #将新的套接字加入到关注列表 rlist.append(connfd) else: try: data=r.recv(1024) if not data: rlist.remove(r) r.close() else: print("Received from",r.getpeername(), ":",data.decode()) wlist.append(r) except Exception: pass for w in ws: w.send("人生苦短".encode()) wlist.remove(w)