1
在Python 3.4/Asyncio我正在使用StreamReader/Writer。Python .readline()重置
要检测客户端断开连接,常见的方法似乎是从客户端读取,如果没有任何内容,则客户端断开连接。
while True:
data = (yield from asyncio.wait_for(client_reader.readline(),
timeout=1.0))
if not data: #client disconnected
break
但是你很快用完行从客户端头(它移动到每个循环的下一行),如果有从客户端发送不需要额外的线(在我的情况下,客户是不读发送只是在听)你打了超时。
我想要做的只是重复读取头部的第一行......或者甚至可能只是第一行的第一个字符,或者当它到达最后一个循环时不可能回到第一位。
什么是最好/最优雅的方式来完成这项任务? 3.4/ASYNCIO /的StreamReader /作家。 (检测客户端断开连接)
我认为问题不是asyncio特定的,可能需要更改客户端代码。 你喜欢如何解决它“一般”,没有asyncio? – 2014-11-23 10:41:38