使用select的简单服务器

 1 # 使用select的简单服务器
 2 import socket, select
 3 
 4 s = socket.socket()
 5 
 6 host = socket.gethosename()
 7 prot = 1234
 8 s.bind((host, port))
 9 s.listen(5)
10 inputs = [s]
11 while True:
12     rs, ws, es = select.select(inputs, [], [])
13     for r in rs:
14         if r is s:
15             c, addr = s.accept()
16             print('Got connection from ', addr)
17             inputs.append(c)
18         else:
19             try:
20                 data = r.recv(1024)
21                 disconnected = not data
22             except socket.error:
23                 disconnected =  True
24 
25             if disconnected:
26                 print(r.getpeername(), 'disconnected')
27                 inputs.remove(r)
28             else:
29                 print(data)
30                 
View Code

 

posted @ 2018-12-23 11:12  子觉  阅读(467)  评论(0编辑  收藏  举报