2013-03-29 44 views
1

我正在尋找C的NIO類型的庫。我想實現一個多線程的UDP網絡服務器,它將有很多客戶端連接到它。C的網絡庫

而不是試圖編寫我自己的程序來處理數據包和'連接'。如果還沒有一個已經過測試和構建的可擴展性和高性能的現有庫,我想我會看看。

我發現了一些Java,但沒有爲C.例如Apache Mina。

我希望有一個人知道一個好的可以幫助我。 Thaks

+2

挑剔約 「的代碼我自己的類」:C沒有類。 – hyde

+1

缺少一個重要的細節:哪個操作系統?請[編輯]問題添加適當的標籤或解釋。 C本身沒有網絡資源,我認爲網絡庫通常是特定於操作系統的。 – hyde

回答

1

首先,C沒有類。其次,C爲您提供了實現可擴展和高性能解決方案所需的一切。它比java的NIO更低級,但是在google中有很好的教程。

如果你想要一個庫 - 試試boosts' asio。它是C++,但也許你可以使用它。

4

這聽起來像你想抽象select(),poll()或任何最有效的機制是爲您的平臺。

你看過libeventlibev?有一個很好的寫作here

1

如果您使用的是Linux,我強烈建議您使用POSIX API。它爲您提供了多線程和網絡繁忙任何Linux機器的資源。

GNU C library