(1)ACEhtml
龐大、複雜,適合大型項目。開源、免費,不依賴第三方庫,支持跨平臺。react
http://www.cs.wustl.edu/~schmidt/ACE.htmlc++
(2)Asio數據庫
Asio基於Boost開發的異步IO庫,封裝了Socket,簡化基於socket程序的開發。瀏覽器
開源、免費,支持跨平臺。服務器
http://think-async.com/cookie
(3)POCO網絡
POCO C++ Libraries 提供一套 C++ 的類庫用以開發基於網絡的可移植的應用程序,功能涉及線程、線程同步、文件系統訪問、流操做、共享庫和類加載、套接字以及網絡協議包括:HTTP、 FTP、SMTP 等;其自己還包含一個 HTTP 服務器,提供 XML 的解析和 SQL 數據庫的訪問接口。POCO庫的模塊化、高效的設計及實現使得POCO特別適合嵌入式開發。在嵌入式開發領域,因爲C++既適合底層(設備I/O、中斷處理等)和高層面向對象開發,愈來愈流行。curl
(4)libevent
Libevent是一個輕量級的開源高性能網絡庫,從它的官網標題:libevent-an event notification library就能知道它的機制是採用事件觸發,封裝瞭如下三種事件的響應:IO事件,定時器事件,信號事件。select模型來實現跨平臺的操做,Windows環境下支持IOCP。Google的開源WEB瀏覽器Chromium在Mac和Linux版本中,也使用了Libevent,足見該庫的質量。
(5)libev
libev和libevent很像,按照做者的介紹,能夠做爲libevent的替代者,可以提供更高的性能。
libev是一個高性能事件循環,所實現的功能就是一個強大的reactor。
http://software.schmorp.de/pkg/libev.html
(6)c++ sockets library
封裝了sockets C API的C++類庫。
支持SSL, IPv6, tcp 和 udp sockets, sctp sockets, http協議, 高度可定製的錯誤處理。
(7)libcurl
libcurl是免費的輕量級的客戶端網絡庫,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet, TFTP. 支持SSL, HTTP POST, HTTP PUT, FTP上傳, HTTP form上傳,代理,cookies, 用戶名與密碼認證。
若是你開發的是客戶端,libcurl是一個不錯的選擇。
看了以後以爲每一個庫都不錯,這裏我具體下載這些庫看一下,簡單總結一下;
順便添加一些我找到的網絡庫;
(1)ACE
龐大、複雜,適合大型項目。開源、免費,不依賴第三方庫,支持跨平臺。
http://www.cs.wustl.edu/~schmidt/ACE.html
注:除非特別須要,不然不建議;
(2)Asio
Asio基於Boost開發的異步IO庫,封裝了Socket,簡化基於socket程序的開發。
開源、免費,支持跨平臺。
注:要配置Boost庫,還要熟悉Boost,仍是麻煩;
(3)POCO
POCO C++ Libraries 提供一套 C++ 的類庫用以開發基於網絡的可移植的應用程序,功能涉及線程、線程同步、文件系統訪問、流操做、共享庫和類加載、套接字以及網絡協議包括:HTTP、 FTP、SMTP 等;其自己還包含一個 HTTP 服務器,提供 XML 的解析和 SQL 數據庫的訪問接口。POCO庫的模塊化、高效的設計及實現使得POCO特別適合嵌入式開發。在嵌入式開發領域,因爲C++既適合底層(設備I/O、中斷處理等)和高層面向對象開發,愈來愈流行。
注:沒用過,看上面提示爲 適合 嵌入式 開發;
(4)libevent
Libevent是一個輕量級的開源高性能網絡庫,從它的官網標題:libevent-an event notification library就能知道它的機制是採用事件觸發,封裝瞭如下三種事件的響應:IO事件,定時器事件,信號事件。select模型來實現跨平臺的操做,Windows環境下支持IOCP。Google的開源WEB瀏覽器Chromium在Mac和Linux版本中,也使用了Libevent,足見該庫的質量。
注:看了卻是不錯,仍是有點麻煩;
(5)libev
libev和libevent很像,按照做者的介紹,能夠做爲libevent的替代者,可以提供更高的性能。
libev是一個高性能事件循環,所實現的功能就是一個強大的reactor。
http://software.schmorp.de/pkg/libev.html
注:沒看;
(6)c++ sockets library
封裝了sockets C API的C++類庫。
支持SSL, IPv6, tcp 和 udp sockets, sctp sockets, http協議, 高度可定製的錯誤處理。
注:看着功能不錯,編譯,應用仍是有點麻煩;
(7)libcurl
libcurl是免費的輕量級的客戶端網絡庫,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet, TFTP. 支持SSL, HTTP POST, HTTP PUT, FTP上傳, HTTP form上傳,代理,cookies, 用戶名與密碼認證。
若是你開發的是客戶端,libcurl是一個不錯的選擇。
注:沒看,放到這裏,之後編寫網絡客戶端的時候看看;
(8):C++ Socket Class for Windows ,http://www.adp-gmbh.ch/win/misc/sockets.html;
注:這個文章的文件不能夠下載本身複製 保存 h 和 cpp文件;
我用了一下,以爲很不錯,也很簡單,例子很明瞭; 不過有一個小小的缺點,只收發字符串,並且接收函數中的判斷也有點很差;
若是要用這個庫傳輸文件等數據,須要 本身重載 收發函數,不過也很簡單;
這個不錯,我會單獨寫一篇文章介紹;
(9):SimpleSockets,http://sockets.carrierlabs.com/index.html
跨平臺,支持 TCP ,UDP;
注:這個編譯簡單並且用起來也簡單,目前考慮這個庫;
http://blog.csdn.net/weiwangchao_/article/details/8730199