我正在使用以下 TCP 通信代码(服务器端)来处理超时等...如果我终止客户端软件,则会发生异常(socket.error),但是当我从客户端 PC 上拔下以太网电缆时socket.timeout 异常发生,那么我怎么知道连接断开了?socket.error
几分钟后我可能会得到一个例外吗?我尝试了 3 分钟,但没有收到 socket.error 异常。
self.request.settimeout( 1 )
while 1:
try:
response = self.request.recv( buffSize )
if(response)
...response handler....
else:
...disconnect handler....
except socket.timeout :
...timeout handler...
except socket.error:
...disconnect handler...