C 開源C C 網路庫

2021-09-24 16:15:14 字數 2509 閱讀 5807

(1)ace

龐大、複雜,適合大型專案。開源、免費,不依賴第三方庫,支援跨平台。

(2)asio

asio基於boost開發的非同步io庫,封裝了socket,簡化基於socket程式的開發。

開源、免費,支援跨平台。

(3)poco

poco c++ libraries 提供一套 c++ 的類庫用以開發基於網路的可移植的應用程式,功能涉及執行緒、執行緒同步、檔案系統訪問、流操作、共享庫和類載入、套接字以及網路協議包括:http、 ftp、smtp 等;其本身還包含乙個 http 伺服器,提供 xml 的解析和 sql 資料庫的訪問介面。poco庫的模組化、高效的設計及實現使得poco特別適合嵌入式開發。在嵌入式開發領域,由於c++既適合底層(裝置i/o、中斷處理等)和高層物件導向開發,越來越流行。

(4)libevent

(5)libev

libev和libevent很像,按照作者的介紹,可以作為libevent的替代者,能夠提供更高的效能。

libev是乙個高效能事件迴圈,所實現的功能就是乙個強大的reactor。

(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

龐大、複雜,適合大型專案。開源、免費,不依賴第三方庫,支援跨平台。

注:除非特別需要,否則不建議;

(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

注:看了倒是不錯,還是有點麻煩;

(5)libev

libev和libevent很像,按照作者的介紹,可以作為libevent的替代者,能夠提供更高的效能。

libev是乙個高效能事件迴圈,所實現的功能就是乙個強大的reactor。

注:沒看;

(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 ,

我用了一下,覺得很不錯,也很簡單,例子很明了; 不過有乙個小小的缺點,只收發字串,而且接收函式中的判斷也有點不好;

如果要用這個庫傳輸檔案等資料,需要 自己過載 收發函式,不過也很簡單;

這個不錯,我會單獨寫一篇文章介紹;

(9):******sockets,

跨平台,支援 tcp ,udp;

注:這個編譯簡單而且用起來也簡單,目前考慮這個庫;

網路程式設計 開源庫

okhttp教程 okhttp3解析 okhttp的使用 okhttp解析,及封裝 vollery的用法 vollery基本用法,載入網路,定製request vollery簡介 記錄一段socket主要做了啥事的理解 tcp和udp的報文結構,每段報文裡面除了資料本身,還包含了包的目的位址和埠,包...

Linux下常用的C C 開源Socket庫

1.linux socket programming in c 2.ace ace採用ace os適配層遮蔽各種不同的 複雜繁瑣的作業系統api。ace是乙個大型的中介軟體產品,20萬行左右,過於巨集大,一堆的設計模式,架構了一層又一層。它龐大 複雜,適合大型專案。開源 免費,不依賴第三方庫。使用的...

Linux下常用的C C 開源Socket庫

1.linux socket programming in c 2.ace ace採用ace os適配層遮蔽各種不同的 複雜繁瑣的作業系統api。ace是乙個大型的中介軟體產品,20萬行左右,過於巨集大,一堆的設計模式,架構了一層又一層。它龐大 複雜,適合大型專案。開源 免費,不依賴第三方庫。使用的...