我想知道是否有一個API可以在Windows,Mac和Linux上工作。我想製作一個2人可以通過TCP連接玩的紙牌遊戲。跨平臺網絡API
跨平臺網絡API
回答
這有幾個選擇,一些比別人更容易使用:
APR(Apache可移植運行時) - 很受歡迎。非常容易使用。包含許多用於網絡編程(線程,互斥等)的附加功能。
ACE - 在嵌入式空間中很受歡迎。就我個人而言,我發現它是一個相當複雜的API,不太直接使用。
Boost - 如果你的C++(模板,元編程等)具有相當的複雜程度,那麼Boost庫通常非常好。我不確定Boost異步網絡庫在真實世界中的受歡迎程度。
QT - 作爲UI工具包很受歡迎,但擁有一套完善的線程,事件管理和網絡庫。國際海事組織,這是迄今爲止最容易使用的。
它從使用Berkeley套接字庫走就走是很重要的,因爲跨操作系統的實現差異很大,你將失去的時間公平位調整他們爲你的端口跨操作系統的軟件。
我的個人偏好:APR。
大部分的berkeley sockets api都可以使用。
我有一種感覺,Apache Portable Runtime可能會幫助您尋找。 Apache HTTPD在內部使用該庫來抽象其特定於平臺的代碼,以便服務器代碼專注於邏輯並調用APR中的方法,並將這些方法轉化爲底層操作系統功能。
當然,它可能含有更多的工具比你嚴格需要...
你看過APR嗎?這是巨大而複雜的。 – 2010-02-06 22:31:44
巨大 - 真實,但這是從操作系統API提供抽象的必要條件 - Java,真正的或.Net也是如此。關於複雜 - 不要再提供其他選擇。正如另一個答案指出的那樣,APR提供了一些優秀的線程API,因爲httpd已經廣泛地測試了這個空間。 – 2010-02-06 22:53:26
您可以使用ACE或Boost.Asio:
關於ACE:
增強了便攜性 - ACE組件可以很容易地寫上一個操作系統平臺,快速端口併發的網絡化應用他們到許多其他操作系統平臺。而且,由於ACE是開源的免費軟件,因此您無需擔心被鎖定到特定的操作系統平臺或編譯器配置中。
關於提升:
Boost.Asio的是網絡和低級別的I/O設計,提供開發人員使用現代C++的做法一致的異步模型一個跨平臺的C++庫。
是好的跨平臺網絡庫。開源並且非常易於使用。
SDL Net是在插座上面一個非常簡單的抽象層,這是非常容易使用。請參閱http://www.libsdl.org/projects/SDL_net。
對於這個簡單的應用程序,您可以使用大多數便攜式的標準「伯克利插座」功能。您也可以使用Boost's abstractions。
如果你需要像SSL安全功能/ TLS(你並不需要一個簡單的遊戲,我猜),有喜歡的OpenSSL,GNU TLS,Mozilla的NSS開源庫。
- 1. 跨平臺,穩定,具有很強的網絡平臺功能
- 2. S.M.A.R.T.跨平臺API?
- 3. 社交網絡平臺與其餘api
- 4. 跨平臺推送API
- 5. 是否有適用於iPhone的跨平臺網絡庫?
- 6. 跨平臺的C + +網絡(沒有大型圖書館)
- 7. 適用於iPhone的最佳跨平臺網絡框架Dev
- 8. C中的跨平臺網絡二進制文件比較?
- 9. 播放跨平臺網絡視頻的標準方式
- 10. 用於C++和Java的簡單跨平臺網絡框架/庫
- 11. 最適合網絡服務器的跨平臺解決方案?
- 12. 開發一個Java跨平臺庫(手機和網絡)
- 13. C++跨平臺網絡攝像頭流式傳輸插座
- 14. 跨平臺
- 15. Android跨平臺
- 16. SWIG跨平臺
- 17. 跨平臺Bonjour
- 18. 跨平臺C?
- 19. MD5跨平臺
- 20. 跨平臺CSRF
- 21. 跨平臺
- 22. 跨平臺 - 在
- 23. 跨平臺移動API - 尋求建議
- 24. xamarin,跨平臺的聲音API播放
- 25. 跨平臺簡單的TCP/IP API?
- 26. MonoTouch - 跨平臺API抽象層?
- 27. 跨平臺的C#媒體API
- 28. Android開發跨平臺到iOS平臺
- 29. 跨平臺移動平臺編程
- 30. 跨平臺框架
您也可以使用SDL_net! – luddbro 2015-04-15 20:16:05