我需要在Python中開發一個應用程序,並行處理幾千個持久的TCP連接。客戶端在引導時連接到服務器,並不時發送一些消息(二進制格式)。服務器還發送回復客戶的消息和異步的其他二進制消息。基本上它是由客戶端發起的持續連接,因爲我無法訪問位於NAT後面的客戶端。使用python處理數千個持久的TCP連接
問題是:哪個庫/框架是我要考慮的這個任務。爲每個客戶端產生一個線程不是一種選擇。我不知道python的線程池庫。我最近也發現了gevent。我還有哪些其他選項?
我需要在Python中開發一個應用程序,並行處理幾千個持久的TCP連接。客戶端在引導時連接到服務器,並不時發送一些消息(二進制格式)。服務器還發送回復客戶的消息和異步的其他二進制消息。基本上它是由客戶端發起的持續連接,因爲我無法訪問位於NAT後面的客戶端。使用python處理數千個持久的TCP連接
問題是:哪個庫/框架是我要考慮的這個任務。爲每個客戶端產生一個線程不是一種選擇。我不知道python的線程池庫。我最近也發現了gevent。我還有哪些其他選項?
'greenlets'是一個leighweight併發包。見http://greenlet.readthedocs.org/en/latest/。 除了greenlets
,你可能也想考慮multiprocessing
。見http://docs.python.org/2/library/multiprocessing.html。