-2
我必須偵聽傳入的連接,但同時我必須從已連接的客戶端接收消息。但是listen(1)
會使套接字等待,因此我無法接收它們。該怎麼辦? (我必須得儘快得到消息的客戶端發送它們)Python套接字服務器:偵聽多個客戶端
我必須偵聽傳入的連接,但同時我必須從已連接的客戶端接收消息。但是listen(1)
會使套接字等待,因此我無法接收它們。該怎麼辦? (我必須得儘快得到消息的客戶端發送它們)Python套接字服務器:偵聽多個客戶端
,你有3個主要選項:
打開每個客戶端一個線程,即產卵後您accept()
,並且運行在這種情況下一個循環,這並不read() => .... => write()
運行該accept()
每個後在客戶端上使用select()
主循環,並處理調度自己。
最好的選擇 - 使用異步網絡框架,如tornado
,gevent
,twisted
或更多來處理這個透明。
你的問題不夠具體。你使用什麼樣的插座類型?查看一些UDP或TCP套接字教程,找出你想知道的內容 – kratenko