2016-07-15 54 views
0

有一台服务器用于单个客户端。客户可以在任何时间 这里连接和断开被简化代码服务器套接字错误计时器管理

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind((HOST, PORT)) 
s.listen(1) 
while true: 
    a = s.accept() 
    try: 
     data = a[0].recv(1024) 
    except socket.error: 
     a[0].close() 
     print 'cought the error' 

它的工作原理,但socket.error一代需要的时间随机量从几秒钟至一分钟。可以管理这个值吗?

+0

不是直接。搜索非阻塞I/O或选择/轮询相关文档。 –

回答

0

如果客户端断开连接,则没有socket.error,而是recv()立即返回空字符串。此外,在这种情况下,您并未关闭连接。