muduo網路庫的安裝和使用
一、安裝依賴庫
# 安裝cmake
sudo apt-get install cmake
# 安裝boost
sudo apt-get install libboost-dev libboost-test-dev
# 三個非必須的依賴庫:curl、c-ares DNS、Google Protobuf
sudo apt-get install libcurl4-openssl-dev libc-ares-dev
sudo apt-get install protobuf-compiler libprotobuf-dev
二、編譯
/* 編譯muduo庫和它自帶的例子,生成的可執行檔案和靜態庫檔案位於
build/release-cpp11/lib */
./build.sh -j4
// 將muduo標頭檔案和庫檔案安裝到build/release-install-cpp11/lib
./build.sh install
三、執行例子程式
cd build/release-cpp11/bin
./inspector_test
開啟瀏覽器訪問IP和埠即可
相關推薦
muduo網路庫的安裝和使用
一、安裝依賴庫 # 安裝cmake sudo apt-get install cmake # 安裝boost sudo apt-get install libboost-dev libboost-test-dev # 三個非必須的依賴庫:curl、c-ares DNS、Goog
Muduo網路庫原始碼分析(四)EventLoopThread和EventLoopThreadPool的封裝
muduo的併發模型為one loop per thread+ threadpool。為了方便使用,muduo封裝了EventLoop和Thread為EventLoopThread,為了方便使用執行緒
Muduo網路庫原始碼分析(一) EventLoop事件迴圈(Poller和Channel)
從這一篇博文起,我們開始剖析Muduo網路庫的原始碼,主要結合《Linux多執行緒服務端程式設計》和網上的一些學習資料! (一)TCP網路程式設計的本質:三個半事件 1. 連線的建立,包括服務端接受(accept) 新連線和客戶端成功發起(connect) 連線。TCP 連
Muduo網路庫原始碼分析(三)執行緒間使用eventfd通訊和EventLoop::runInLoop系列函式
先說第一點,執行緒(程序)間通訊有很多種方式(pipe,socketpair),為什麼這裡選擇eventfd? eventfd 是一個比 pipe 更高效的執行緒間事件通知機制,一方面它比 pipe
muduo網路庫學習之EventLoop(二):程序(執行緒)wait/notify 和 EventLoop::runInLoop
// 事件迴圈,該函式不能跨執行緒呼叫 // 只能在建立該物件的執行緒中呼叫void EventLoop::loop() {// 斷言當前處於建立該物件的執行緒中 assertInLoopThread(); while (!quit_) { pollReturnTime_ =
centos7 mysql數據庫安裝和配置
web 大小 images etc 安裝mysql 安裝 commands 0 rows type 一、系統環境 yum update升級以後的系統版本為 [[email protected]/* */ yl]# cat /etc/redhat-relea
第二百七十五節,MySQL數據庫安裝和介紹
關閉 離線 har 內存 query 命令 臨時 rdb 執行文件 MySQL數據庫安裝 一、概述 1、什麽是數據庫 ? 答:數據的倉庫,稱其為數據庫 2、什麽是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 答:他們均是一
達夢數據庫安裝和創建表
數據庫安裝 tails get details 輸入 運行 sdn 操作 article 1.達夢數據庫安裝 2.達夢命令行sql工具 進去達夢數據庫安裝目錄下的/bin目錄 運行./disql 輸入用戶名和密碼: 默認的管理用戶SYSDBA 的初始密碼是SYS
Oracle 11g數據庫安裝和卸載教程
manager 路徑 內存 size alc ftw 單例 code ice Oracle11g的安裝教程 同時解壓縮兩個zip文件,生成一個database文件夾,進入到database文件夾,點擊setup 去掉安全更新的選項,直接下一步 選擇創建和配置數
muduo網路庫學習筆記(三)TimerQueue定時器佇列
目錄 muduo網路庫學習筆記(三)TimerQueue定時器佇列 Linux中的時間函式 timerfd簡單使用介紹 timerfd示例 muduo中對timerfd的封裝 TimerQueue的結構.
muduo網路庫學習筆記(四) 通過eventfd實現的事件通知機制
目錄 muduo網路庫學習筆記(四) 通過eventfd實現的事件通知機制 eventfd的使用 eventfd系統函式 使用示例 EventLoop對eventfd的封裝 工作時序 runInLoo
muduo網路庫學習筆記(五) 連結器Connector與監聽器Acceptor
本篇繼續為前面封裝的EventLoop新增事件,到現在共給EventLoop添加了兩個fd,Timerfd,EventFd分別用於處理定時任務和通知事件. 今天新增的Acceptor會增加另一個fd,此fd是是一個socket,用於監聽套接字連線.同時封裝非組賽網路程式設計中的connect(2)的
muduo網路庫架構總結
目錄 muduo網路庫架構總結 muduo網路庫服務端的類圖 muduo網路庫模組組成 Recator反應器 EventLoop的兩個元件 TimerQueue定時器 Eventfd Connector和Accepto
muduo網路庫——詳解muduo多執行緒模型
6.3 非阻塞網路程式設計應該用邊沿觸發(ET)還是電平觸發(LT)?如果是電平觸發,那麼什麼時候關注POLLOUT事件?會不會造成busy-loop?如果是邊沿觸發,如果和防止漏讀造成的飢餓? epoll一定比poll快麼? 6.4 在fi
muduo網路庫——Buffer類的設計與使用
muduo Buffer設計要點: 1.一塊連續的記憶體(char *p, int len)。 2.size()可以自動增長,以適應不同大小的訊息。 3.內部以std::vector<char>來儲存資料,並提供相應的訪問函式。 Buffer像一個que
muduo網路庫原始碼閱讀Step by Step
Posted on: Nov 26 2015 Categories: muduo C++ Tags: muduo 一般寫服務端程式都需要有一個稱手的網路庫來幫我們處理瑣碎的網路通訊細節,比如連線的建立、關閉,讀取資料,傳送資料,接收、傳送緩衝區的管理等,常用的C/C++網路庫有libevent,
Snappy壓縮庫安裝和使用之一
近日需要在畢業設計中引入一個壓縮庫,要求壓縮與解壓縮速度快,但是壓縮率可以不那麼苛刻。查詢資料發現Google的snappy庫比較合適,而且該庫開源,由C++寫成。所以就拿來使用一下,下面權作記錄。下面引出的任何涉及Google公司的原始碼,版權歸Google公司所有,
Muduo網路庫原始碼分析(二) 定時器TimeQueue,Timer,TimerId
首先,我們先要明白為什麼需要設計這樣一個定時器類? 在開發Linux網路程式時,通常需要維護多個定時器,如維護客戶端心跳時間、檢查多個數據包的超時重傳等。如果採用linux的SIGALARM訊號實現,則會帶來較大的系統開銷,且不便於管理。 Muduo 的 Timer
muduo網路庫學習筆記(8):高效日誌類的封裝
前言 在服務端程式設計中,日誌是必不可少的。 開發過程中,日誌的存在能方便我們除錯錯誤和更好地理解程式;執行過程中,日誌能幫助我們診斷系統故障並處理、記錄系統執行狀態。 muduo日誌類封裝細
【 專欄 】- muduo網路庫原始碼分析
muduo網路庫原始碼分析 muduo是基於Reactor模式的C++網路庫,採用Reactor + 執行緒池的方法提高併發性。內部對於事件驅動,執行緒池,定時器,io複用的設計都非常值得學習。設計技巧對C++程式碼風格有很大的幫