服务端:
import socket,gevent from gevent import socket,monkey monkey.patch_all() def server(port): s=socket.socket() s.bind(('0.0.0.0',port)) s.listen(500) while True: cli,addr=s.accept() gevent.spawn(handle_request,cli) #生成一个协程 def handle_request(conn): try: while True: data=conn.recv(1024) print("recv:",data.decode()) conn.send(data) if not data: conn.shutdown(socket.SHUT_WR) except Exception as ex: print(ex) finally: conn.close() if __name__=='__main__': server(8001)
客户端:
import socket HOST='localhost' PORT=8001 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect((HOST,PORT)) while True: msg=bytes(input('>>:'),encoding='utf-8') s.sendall(msg) data=s.recv(1024) print('received:',data.decode()) s.close()