我正在编写一个使用客户端/服务器套接字的Python脚本。在寻找替代解决方案后,我不确定我的解决方案是否正确或最佳。
我阅读了这些文章: Python处理socket.error:[Errno 104]连接被对等方重置 {{link2:Asyncio检测断开连接挂起}}
它们的解决方案对我不起作用,但我有以下解决方案。我不确定它是否正确或干净。
如果我不使用except来处理ConnectionResetError,当我杀死客户端时,数据会引发connectionReset错误。
检测不规则客户端断开连接是否是一个好的解决方案呢?
注:感谢Prune清理掉了措辞和语法问题。
我阅读了这些文章: Python处理socket.error:[Errno 104]连接被对等方重置 {{link2:Asyncio检测断开连接挂起}}
它们的解决方案对我不起作用,但我有以下解决方案。我不确定它是否正确或干净。
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
如果我不使用except来处理ConnectionResetError,当我杀死客户端时,数据会引发connectionReset错误。
检测不规则客户端断开连接是否是一个好的解决方案呢?
注:感谢Prune清理掉了措辞和语法问题。