在python3.4/Asyncio中,我使用StreamReader/Writer。在
要检测客户端断开连接,常见的方法似乎是从客户端读取数据,如果没有任何内容,则客户端断开连接。在
while True:
data = (yield from asyncio.wait_for(client_reader.readline(),
timeout=1.0))
if not data: #client disconnected
break
但是很快就用完了要从客户机头读取的行(它会移动到每个循环的下一行),如果没有从客户机发送额外的行(在我的情况下,客户机发送的不仅仅是监听),那么就达到了超时。在
我想做的只是一遍又一遍地读标题的第一行。。或者甚至可能只是第一行的第一个字符,或者如果在最后一行循环到第一行时这是不可能的。在
完成这项任务的最佳/最优雅的方式是什么?3.4/Asyncio/StreamReader/Writer。(检测客户端断开连接)
我也有类似的问题。对我有效的方法是先检查EOF,如果为true,则引发ConnectionError异常。因此,对于您的代码,我将添加以下内容:
希望有帮助。如果有更好的方法我会感兴趣的。在
相关问题 更多 >
编程相关推荐