1. 程式人生 > >linux常見類庫及簡單介紹

linux常見類庫及簡單介紹



ACE採用ACE_OS適配層遮蔽各種不同的、複雜繁瑣的作業系統API。

ACE是一個大型的中介軟體產品,程式碼20萬行左右,過於巨集大,一堆的設計模式,架構了一層又一層。它龐大、複雜,適合大型專案。開源、免費,不依賴第三方庫。使用的時候,要根據情況,看你從哪一層來進行使用。支援跨平臺。

ACE超重量級的網路通訊開發框架。ACE自適配通訊環境(AdaptiveCommunication Environment)是可以自由使用、開放原始碼的面向物件框架,在其中實現了許多用於併發通訊軟體的核心模式。ACE提供了一組豐富的可複用C++包裝外觀(Wrapper Facade)和框架元件,可跨越多種平臺完成通用的通訊軟體任務,其中包括:事件多路分離和事件處理器分派、訊號處理、服務初始化、程序間通訊、共享記憶體管理、訊息路由、分散式服務動態(重)配置、併發執行和同步,等等

它是一個跨平臺的Sockets庫,實現包括TCP、UDP、ICMP、SCTP協議。已實現的應用協議包括有SMTP、HTTP(S)、Ajp。具有SOCKS客戶端實現以及匿名DNS,支援HTTP的GET/POST/PUT以及WebServer的框架。

它封裝了sockets C API的C++類庫。支援SSL, IPv6, tcp和udp sockets, sctp sockets, http協議, 高度可定製的錯誤處理。

它是一個基於Boost開發的非同步IO庫,封裝了對Socket的常用操作,簡化了基於Socket程式的開發。它開源、免費、支援跨平臺。

它是一個C語言寫的網路庫,主要支援的是類Linux 作業系統,最新的版本添加了對Windows的IOCP的支援。由於IOCP是非同步IO,與Linux下的POLL模型,EPOLL模型,還有freebsd的KQUEUE等這些同步模型在用法上完全不一致,所以使用方法也不一樣,就好比ACE中的Reactor和Proactor模式一樣,使用起來需要轉變思路。如果對效能沒有特別的要求,那麼使用libevent中的select模型來實現跨平臺的操作,select模型可以橫跨Windows,Linux,Unix,Solaris等系統。

Libevent是一個輕量級的開源高效能網路庫,它的機制是採用事件觸發,封裝了以下三種事件的響應:IO事件,定時器事件,訊號事件。select模型來實現跨平臺的操作,Windows環境下支援IOCP。Google的開源WEB瀏覽器Chromium在Mac和Linux版本中,也使用了Libevent,足見該庫的質量。

它是一個C語言寫的,只支援Linux系統的庫,以前的時候只封裝了EPOLL模型.使用方法類似libevent,但是非常簡潔,程式碼量是最少的一個庫,也就幾千行程式碼。顯然這樣的程式碼跨平臺肯定是無法支援的了,如果你只需要在Linux下面執行,那用這個庫也是可以的。

libev和libevent很像,按照作者的介紹,可以作為libevent的替代者,能夠提供更高的效能。libev是一個高效能事件迴圈,所實現的功能就是一個強大的reactor。

這個類庫讓編寫基於Socket的客戶/伺服器程式更加容易。

An easy to use C++ socket andnetwork library, mainly for UNIX systems.

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

libcurl是免費的輕量級的客戶端網路庫,支援DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet, TFTP.支援SSL, HTTPPOST,HTTPPUT, FTP上傳, HTTP form上傳,代理,cookies, 使用者名稱與密碼認證。

如果你開發的是客戶端,libcurl是一個不錯的選擇。

一個c語言開發的跨平臺網路IO庫。

功能特性:c/c++api, 底層支援epoll, select,poll等io模型;非同步事件模型;任務池模型,跨平臺執行緒介面;跨平臺(Linux/windows);日誌服務;穩定,支援7*24小時無間斷執行,自動處理異常狀態;高併發與快速響應;API簡潔,學習成本底。

相關推薦

linux常見簡單介紹

 ACE採用ACE_OS適配層遮蔽各種不同的、複雜繁瑣的作業系統API。 ACE是一個大型的中介軟體產品,程式碼20萬行左右,過於巨集大,一堆的設計模式,架構了一層又一層。它龐大、複雜,適合大型專案。開源、免費,不依賴第三方庫。使用的時候,要根據情況,看你從哪一層來

Linux gmp簡單使用(二)

GMP常用函式介紹(這裡只簡單介紹一下整數函式,如需更多請自行閱讀手冊) 1.初始化函式 mpz_t integ;// 定義 mpz_init (integ)// 初始化,預設值為0 2.賦值函式

linux入門基礎知識簡單命令介紹

linux基礎linux入門基礎知識介紹1、計算機硬件組成介紹計算機主要由cpu(運算器、控制器),內存,I/O,外部存儲等構成。 cpu主要是用來對二進制數據進行運算操作,它從內存中取出數據,然後進行相應的運算操作。不能從硬盤中直接取數據。 內存從外部存儲中取出數據供cpu運存。內存的最小單位是

cJSON簡單介紹使用

轉載:http://www.cnblogs.com/liunianshiwei/p/6087596.html JSON 語法是 JavaScript 物件表示法語法的子集。資料在鍵/值對中;資料由逗號分隔;花括號儲存物件, 也稱一個文件物件;方括號儲存陣列, 每個陣列成員用逗號

C# 基礎知識系列- 13 常見介紹(一)

0. 前言 每篇一個前言,介紹一下這一篇的內容。之前的內容都是針對某些知識點進行的介紹,這篇內容介紹一下實際開發中常用的一些類和名稱空間。這一篇是個連續劇,大概有個三四集。嗯,就是這樣。 1. System 名稱空間 System空間,是C#的基礎名稱空間,裡面定義了常用值和資料型別以及各種型別的基類,當然也

C# 基礎知識系列- 13 常見介紹(二)日期時間

# 0. 前言 上一篇內容介紹了Console類和Math類,這篇內容著重介紹一下C#中時間日期的處理方式。 > 上一篇勘誤: 上一篇中關於靜態類沒有建構函式,這一表述有誤。正確的說法是C#中靜態類不包含常規建構函式,但可以新增一個靜態建構函式。 > 靜態建構函式與普通普通建構函式的區別是,靜態

linux命令執行順序

linux基本命令分類及執行原理linux命令類型及執行順序一、命令分類linux命令分為兩類,具體為內部命令和外部命令內部命令: 指shell內部集成的命令,此類命令無需人為安裝,開機後自動運行在內存中,命令help查看所有內部命令的詳情,如cd、type、echo、time、true等。外部命令

python第三方requests簡單介紹

一、傳送請求與傳遞引數 簡單demo: import requests r = requests.get(url='http://www.itwhy.org') # 最基本的GET請求 print(r.status_code) # 獲取返回狀態 r = requests.get(ur

linux下redis安裝配置介紹

1.安裝 wget http://download.redis.io/releases/redis-3.0.4.tar.gz tar -zvxf redis-3.0.4.tar.gz cd redis-3.0.4.tar.gz make mkdir /usr/local/redis

linux下的檔案目錄介紹

FHS(英文:Filesystem Hierarchy Standard 中文:檔案系統層次結構標準),多數 Linux 版本採用這種檔案組織形式,FHS 定義了系統中每個區域的用途、所需要的最小構成的檔案和目錄同時還給出了例外處理與矛盾處理。 FHS 定義了兩層規範,第一層是, / 下面的

K-means聚演算法原理簡單介紹

K-means演算法 (1. 剛開始隨機選擇兩個點作為簇重心,然後計算每個資料點離這個重心的距離並把這些點歸為兩個類) (上一步的結果如下圖,所有離藍色叉近的點被標為藍色了,紅色亦然)

Terraform安裝簡單介紹

Terraform 是什麼? Terraform 是一種安全有效地構建、更改和版本控制基礎設施的工具(基礎架構自動化的編排工具)。它的目標是 "Write, Plan, and create Infrastructure as Code", 基礎架構即程式碼。Terraform 幾乎可以支援所有市面上能見到

robot framework 工具介紹

標準庫:Robot Framework可以直接匯入使用的庫: Builtin:包含經常需要的關鍵字。自動匯入無需import,因此總是可用的 Collections:提供關鍵字來對列表和字典操作 DateTime:支援建立和驗證日期和時間值以及它們之間的計算。 Dialogs:提

asp.net core 抽取Controller到Autofac自動屬性注入

寫在前面  之前有個專案是用asp.net webapi做的,pc和移動端共用api的服務介面,balabala,正好最近在看關於asp.net core方面的資料,各種依賴注入,中介軟體,處理管道等,而且把webapi和mvc融合到了一起,就想著把之前那個專案移到asp.net cor

關於各種集合的實現簡單介紹

ArrayList實現原理要點概括 參考文獻:  http://zhangshixi.iteye.com/blog/674856l  https://www.cnblogs.com/leesf456/p/5308358.html ArrayList是List介

linux】靜態動態

動態庫與靜態庫概念 1.靜態庫(.a) 程式在編譯連結時把庫的程式碼連結到可執行檔案之中,程式執行的時間不需要依賴庫。可移植性強,一旦編譯成功不需要靜態庫,但是每一次都要講程式碼連結進去,生成的可執行程式較大,浪費磁碟空間。 2.動態庫(.so) 程式在執行

Maven倉庫—Nexus環境搭建簡單介紹

1.    環境搭建   1.1  下載     NEXUS OSS [OSS = Open Source Software,開源軟體——免費]     NEXUS PROFESSIONAL -FR

linux常用命令大全,linux常見命令(指令)介紹

ls          顯示檔案或目錄      -l           列出檔案詳細資訊l(list)      -a          列出當前目錄下所有檔案及目錄,包括隱藏的a(all) mkdir         建立目錄      -p           建立目錄,若無父目錄,則建立p(pare

常見伺服器型別及其簡單介紹

網站伺服器分為多少個型別呢?   網站伺服器主要分為塔式、機架、刀片三種伺服器型別,其實無論去到那裡伺服器的型別都是這三種為主。  塔式、機架及刀鋒伺服器作為企業最常選購的基礎硬體裝置,一間中小企業採購幾臺機架伺服器合適,或者機架與刀片的配比等都是需要詳細考慮的,只有很好的

burpsuite1.7 安裝簡單介紹

    ##前言:一直就很想玩burp suite,但是不知道是不是自己運氣的問題教程一直跟軟體版本不適配(不過更可能是自己太菜了,不會用...終於符合了一次所以就當作第一篇部落格啦,只是一些基礎知識,大佬勿噴哦)   這個版本是 burpsuite_pro_v1.7.30{