2016-07-15 51 views
0

有一臺服務器用於單個客戶端。客戶可以在任何時間 這裏連接和斷開被簡化代碼服務器套接字錯誤計時器管理

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind((HOST, PORT)) 
s.listen(1) 
while true: 
    a = s.accept() 
    try: 
     data = a[0].recv(1024) 
    except socket.error: 
     a[0].close() 
     print 'cought the error' 

它的工作原理,但socket.error一代需要的時間隨機量從幾秒鐘至一分鐘。可以管理這個值嗎?

+0

不是直接。搜索非阻塞I/O或選擇/輪詢相關文檔。 –

回答

0

如果客戶端斷開連接,則沒有socket.error,而是recv()立即返回空字符串。此外,在這種情況下,您並未關閉連接。