我正在处理带有客户端/服务器套接字的 Python 脚本。在寻找替代解决方案后,我不确定我的解决方案是正确的还是最好的。
我已经阅读了这些帖子:
Python 处理 socket.error: [Errno 104] 对等方重置连接
他们的解决方案对我不起作用,但我有以下内容。我不确定它是否正确或干净。
try:
# See if client has disconnected.
try:
data = (await asyncio.wait_for(client_reader.readline(),timeout=0.01))
except ConnectionResetError, ConnectionAbortedError) as e:
break # Client disconnected
except TimeoutError:
pass # Client hasn't disconnect
Run Code Online (Sandbox Code Playgroud)
如果我除了ConnectionResetError之外不使用,我会收到一个错误,因为当我杀死客户端时数据会引发connectionReset。
检测不规则的客户端断开连接是否是一个好的解决方案?
ps:感谢Prune清理措辞和语法。