我有一个 TCP 服务器,其代码如下所示(循环中):
r, w, e = select([self.sock], [self.sock], [self.sock], 0)
if r or e:
try:
data = self.sock.recv(2048)
except:
debug("%s: .recv() crashed!"%self.id)
debug(traceback.format_exc())
break
出于某种原因,我从客户端到此服务器的连接随机中断,但我只看到它在我尝试发送数据时中断,然后我从 recv() 收到错误,有没有办法检测错误而不尝试发送数据?