2012-06-05 141 views
-2

我必須偵聽傳入的連接,但同時我必須從已連接的客戶端接收消息。但是listen(1)會使套接字等待,因此我無法接收它們。該怎麼辦? (我必須得儘快得到消息的客戶端發送它們)Python套接字服務器:偵聽多個客戶端

+0

你的問題不夠具體。你使用什麼樣的插座類型?查看一些UDP或TCP套接字教程,找出你想知道的內容 – kratenko

回答

1
總之

,你有3個主要選項:

  1. 打開每個客戶端一個線程,即產卵後您accept(),並且運行在這種情況下一個循環,這並不read() => .... => write()

  2. 運行該accept()每個後在客戶端上使用select()主循環,並處理調度自己。

  3. 最好的選擇 - 使用異步網絡框架,如tornado,geventtwisted或更多來處理這個透明。