我在做一個簡單的跨平臺聊天程序。我正在使用wXWidgets進行GUI工作,但我需要一種方法來創建套接字並創建服務器客戶端設置。是否有一個API,例如底層使用Windows上的WinSock,以及Linux的本地socket和osx?跨平臺簡單的TCP/IP API?
我不想尋求提升作爲一種解決方案,因爲我會讓它開源,並不是每個人都覺得安裝一個70 + MB的庫。
感謝
我在做一個簡單的跨平臺聊天程序。我正在使用wXWidgets進行GUI工作,但我需要一種方法來創建套接字並創建服務器客戶端設置。是否有一個API,例如底層使用Windows上的WinSock,以及Linux的本地socket和osx?跨平臺簡單的TCP/IP API?
我不想尋求提升作爲一種解決方案,因爲我會讓它開源,並不是每個人都覺得安裝一個70 + MB的庫。
感謝
的Winsock與POSIX Socket API的應用很好地兼容,而且大部分的標準功能在兩種可用。標題是名稱不同,但一個簡單的#ifdef
可以解決:
#ifdef _WIN32
#include <winsock2.h>
#else
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
// other headers you may use
#endif
如何Apache的運行?下面是詳細頁面插座定義:
http://apr.apache.org/docs/apr/trunk/group_apr_network__io.html
wxWidgets的本身具有TCP客戶機/服務器類:看here
我回答這個七歲的問題,希望這可以幫助別人,總有一天(:
我都未能找到一個跨平臺的,輕量級 API上的插座(有POCO,提高ASIO和其他人在那裏,但他們是大的,全面的和複雜的庫)
所以我對POSIX套接字和Winsock在這裏做一個簡單的(和不完整)包裝:https://github.com/soroush/libcpnet
儘管此鏈接可能會回答問題,但最好在此處包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/17295967) – TobiMcNamobi 2017-09-11 13:15:59
它有點可悲,如果一個C++開發人員不能打擾安裝升壓 – Inverse 2010-11-21 01:38:12
當我做我使用升壓個人項目,但如果他們是開源或圖書館項目,我會避免它,因爲我很少看到依賴它的圖書館。 – jmasterx 2010-11-21 01:54:10
你可以使用boost :: asio – 2011-06-14 22:58:35