日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++搭建集群聊天室(二):安装muduo网络库

發布時間:2023/12/10 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++搭建集群聊天室(二):安装muduo网络库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 資源下載
    • 安裝過程
    • 測試muduo是否安裝成功

資源下載

提取碼: fid9

常規操作啦,前面兩三篇都是環境搭建。
muduo網絡庫我就不多做介紹了,一個基于reactor反應堆模型的多線程C++網絡庫,陳碩大神的作品,不了解的小伙伴可以自行了解一下。

也可以去GitHub上自行下載。

muduo庫是基于boost開發的,所以需要先在Linux平臺上安裝boost庫,安裝boost庫的方法:擱這兒呢

此外,muduo的編譯是通過CMAKE來執行的,所以我們還需要安裝CMAKE。
安裝命令就不用我多說了吧。。

CentOS下:

yum install cmake

確保那個壓縮包已經在Linux下了嗎?我們開始。


安裝過程

git clone https://github.com/chenshuo/muduo.git cd muduo ./build.sh ./build.sh install

一氣呵成,一馬平川,暢通無阻。

但是呢,上面的install命令并沒有把它們拷貝到系統路徑下,導致我們每次編譯程序都需要指定muduo庫的頭文件和庫文件路徑,很麻煩,所以我們選擇直接把inlcude(頭文件)和lib(庫文件)目錄下的文件拷貝到系統目錄下:

現在,我們來對準一下目錄,干點事情:

XXXXXXXX/build/release-install-cpp11/include

我不管你現在在哪個目錄下,進入到這個目錄下,我們開始:

mv muduo/ /usr/include/ cd ../lib mv * /usr/local/lib/

拷貝完成以后使用muduo庫編寫C++網絡程序,不用在指定頭文件和lib庫文件路徑信息了,因為g++會自動從/usr/include和/usr/local/lib路徑下尋找所需要的文件。


測試muduo是否安裝成功

使用muduo庫編寫一個簡單的echo回顯服務器,測試muduo庫是否可以正常使用,代碼如下:

#include <muduo/net/TcpServer.h> #include <muduo/base/Logging.h> #include <boost/bind.hpp> #include <muduo/net/EventLoop.h>// 使用muduo開發回顯服務器 class EchoServer {public:EchoServer(muduo::net::EventLoop* loop,const muduo::net::InetAddress& listenAddr);void start(); private:void onConnection(const muduo::net::TcpConnectionPtr& conn);void onMessage(const muduo::net::TcpConnectionPtr& conn,muduo::net::Buffer* buf,muduo::Timestamp time);muduo::net::TcpServer server_; };EchoServer::EchoServer(muduo::net::EventLoop* loop,const muduo::net::InetAddress& listenAddr): server_(loop, listenAddr, "EchoServer") {server_.setConnectionCallback(boost::bind(&EchoServer::onConnection, this, _1));server_.setMessageCallback(boost::bind(&EchoServer::onMessage, this, _1, _2, _3)); }void EchoServer::start() {server_.start(); }void EchoServer::onConnection(const muduo::net::TcpConnectionPtr& conn) {LOG_INFO << "EchoServer - " << conn->peerAddress().toIpPort() << " -> "<< conn->localAddress().toIpPort() << " is "<< (conn->connected() ? "UP" : "DOWN"); }void EchoServer::onMessage(const muduo::net::TcpConnectionPtr& conn,muduo::net::Buffer* buf,muduo::Timestamp time) {// 接收到所有的消息,然后回顯muduo::string msg(buf->retrieveAllAsString());LOG_INFO << conn->name() << " echo " << msg.size() << " bytes, "<< "data received at " << time.toString();conn->send(msg); }int main() {LOG_INFO << "pid = " << getpid();muduo::net::EventLoop loop;muduo::net::InetAddress listenAddr(8888);EchoServer server(&loop, listenAddr);server.start();loop.loop(); }

這里的編譯要注意,使用了兩個外庫:
-lmuduo_net -lmuduo_base -lpthread

g++ muduo_test.cpp -o muduo_test -lmuduo_net -lmuduo_base -lpthread -std=c++11

運行結果:

一串時間 一個數字 INFO pid = 還是那個數字 - muduo_test.cpp:61

等待客戶端連接,可以打開一個新的shell命令行用netcat命令模擬客戶端連接echo服務器進行功能測試,命令如下:

輸入:echo "hello world" | nc localhost 8888回顯:hello world

客戶端數據回顯正確,看看服務器接日志信息打印如下:

時間 XXX INFO pid = XXX - muduo_test.cpp:61 時間 XXX INFO TcpServer::newConnection [EchoServer] - new connection [EchoServer-0.0.0.0:端口A一個#1] from 127.0.0.1:端口B一個 - TcpServer.cc:80 時間 XXX INFO EchoServer - 127.0.0.1:端口B一個 -> 127.0.0.1:端口A一個 is UP - muduo_test.cpp:42 時間 XXX INFO EchoServer-0.0.0.0:8888#1 echo 12 bytes, data received at 數字一串 - muduo_test.cpp:53

到此,muduo安裝成功,能夠正常進行C++網絡程序開發!

總結

以上是生活随笔為你收集整理的C++搭建集群聊天室(二):安装muduo网络库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜性生活片 | 最好看的日本字幕mv视频大全 | 动漫毛片| 国产精品高清无码 | 成年人黄色片 | 国产欧美精品一区二区色综合朱莉 | 一级美女黄色片 | 欧美人妖xxxx | 91色九色 | 偷拍欧美另类 | 噜噜噜亚洲色成人网站 | 国产一区不卡在线 | 五月激情在线 | www插插插 | 国内精品人妻无码久久久影院蜜桃 | 中文字幕www| 老女人毛片 | 香蕉视频网址 | 免费的黄色一级片 | 久草大| 国产又黄又骚 | 一级做a爰片久久毛片潮喷 天天透天天干 | 51ⅴ精品国产91久久久久久 | 亚洲欧美精品久久 | 美女久久久久 | 亚洲h动漫| 91麻豆成人精品国产免费网站 | 国产精品日韩精品欧美精品 | 日韩欧美一级视频 | 少妇伦子伦精品无吗 | 91免费污视频 | 欧美一卡二卡在线观看 | 国产免费一区二区三区网站免费 | 男男毛片 | 亚洲精品国产精品乱码不99按摩 | 岛国片在线免费观看 | 一级特黄性色生活片 | 成人免费观看a | 男女www| 成人av免费网址 | 蜜桃臀av一区二区三区 | av日韩不卡| 搞黄视频在线观看 | 国产靠逼网站 | 亚洲精品国产精品乱码不99热 | 夜夜嗨av一区二区 | 激情三区 | 97精品一区二区视频在线观看 | 久久婷综合 | 日本亲与子乱xxx | 久久三级网 | 亚洲黄色网址大全 | 日韩欧美xxx | 国产三级在线免费观看 | 国产videos | 色吧在线视频 | 日韩精品――中文字幕 | 视频在线观看 | 午夜精品一区二区三区在线视频 | 国精产品一区一区三区mba下载 | 国产女主播喷水高潮网红在线 | 日韩一区二区视频在线播放 | 精品人妻中文无码av在线 | 黄色操人视频 | 国产丝袜美腿一区二区三区 | 久久久国产精品成人免费 | 不卡的免费av | 狠狠ri| 亚洲国产精品一 | 国产欧美亚洲一区 | 亚洲永久免费精品 | 色涩网站 | 有码视频在线观看 | 国产精品自在线 | 裸体美女免费视频网站 | 亚洲精品成人在线 | 麻豆精品一区 | 好吊妞视频这里只有精品 | 亚洲一区不卡在线 | 一区二区日韩视频 | 嫩草伊人| 偷偷操av| 欧美亚洲成人网 | 亚洲va在线∨a天堂va欧美va | 欧美一级片在线播放 | 日韩xx视频 | 亚洲视频四区 | 亚欧日韩 | 亚洲综合精品一区 | 成人高清在线观看 | 在线艹| 日韩激情视频网站 | 日本成人黄色片 | 五月视频 | 中文字幕一区二区三区久久久 | 蜜桃成人在线 | 亚洲少妇激情 | av手机观看| 亚洲视频在线网 |