2010-05-18 64 views
2

我已經使用Poco爲Linux編寫了一個代理服務器,但後來一直在閱讀各種實現TCP/IP服務器可伸縮性的方法。我將需要服務器處理持續連接(不是HTTP通信),並且上限約爲250個同時連接。每個連接通常使用大約5-10Kb /秒,處理流量的最佳可能延遲是至關重要的。Poco SocketReactor可擴展性

現在我使用Poco SocketReactor,它在心臟使用select()調用時使用了Reactor模型,但是我已經閱讀了C10K問題以及其他一些資源,並且似乎使用這種方法可能不是最好的主意。我相信在Poco庫中有一個使用poll()的測試實現,所以這可能是一個改進事物的選項。

有沒有人有任何使用Poco SocketReactor的經驗,你有什麼想法可以爲我的場景擴展嗎?如果它不能很好地擴展,那麼對於替代方案的建議將不勝感激。

回答

0

在Windows波科不使用select(),但是在Linux/BSD/OSX它會用最好的實現出來的:

  • 選擇()
  • 民意調查()
  • 的epoll( )
  • /dev/poll