C 第三方常用網路庫

2021-10-07 07:18:56 字數 2419 閱讀 7896

from:

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

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

常用第三方庫

1 通過cocoapods安裝 專案名稱 專案資訊 afnetworking 網路請求元件 fmdb 本地資料庫元件 sdwebimage 多個縮圖快取元件 uickeychainstore 存放使用者賬號密碼元件 reachability 監測網路狀態 datetools 友好化時間 mbprog...

IOS常用第三方庫

這裡有一篇csdn文章說得不錯 這個庫簡單易用,直接看一看文件就明白怎麼用了 當然,後來出了個yymodel,筆者研究了一下,其實與mjextension差不多,只是yymodel大部分都使用runtime最底層api,而mjextension更多的是oc語法。在效能上,據說yymodel要比mje...

swift 常用第三方庫

alamofire 著名的afnetworking網路基礎庫swift版 swiftyjson 最為開發者認可的json解析類 kingfirsher 網路展示 sqlite.swift 簡單 輕量,使用上最sql的sqlite封裝庫 sugarrecord 基於coredata與realm的好用封...