1  #通过gevent实现单线程下的多socket并发 服务器
 2 
 3 
 4 #server side
 5 import sys
 6 import socket
 7 import time
 8 import gevent
 9 
10 from gevent import socket,monkey
11 monkey.patch_all()
12 
13 
14 def server(port):
15     s = socket.socket()
16     s.bind(('0.0.0.0', port))
17     s.listen(500)
18     while True:
19         cli, addr = s.accept()
20         gevent.spawn(handle_request, cli)
21 
22 
23 
24 def handle_request(conn):
25     try:
26         while True:
27             data = conn.recv(1024)
28             print("recv:", data)
29             conn.send(data)
30             if not data:
31                 conn.shutdown(socket.SHUT_WR)
32 
33     except Exception as  ex:
34         print(ex)
35     finally:
36         conn.close()
37 if __name__ == '__main__':
38     server(8001)
#通过gevent实现单线程下的多socket并发 服务器

相关文章: