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