C++ muduo网络库源码编译安装

一.简单介绍

muduo库的介绍就是:一个基于reactor反应堆模型的多线程C++网络库。

muduo网络库是C++语言开发的一个非常优秀的网络库,作者陈硕,muduo网络库在多线程环境下性能非常高,该系列文章会分享一些muduo库源码的知识,包括它的线程池源码,TcpServer源码,还有很多muduo库应用的示例代码等,学习一下作者优秀的C++多线程网络编程设计思想。

二.muduo库源码github仓库地址

GitHub - chenshuo/muduo: Event-driven network library for multi-threaded Linux server in C++11

三.muduo库是基于boost开发的,所以需要先在Linux平台上安装boost库

关于安装boost库请看下面文章:

(134条消息) Linux编译安装boost库_qq_52754751的博客-CSDN博客

四.安装CMake和protobuf-compiler

sudo apt-get install protobuf-compiler

sudo apt-get install cmake

之前没安装protobuf-compiler编译出现了如下错误,哭死

 五.解压文件 unzip muduo-master.zip 六.修改CMakeLists.txt文件

muduo库源码编译会编译很多unit_test测试用例代码,编译耗时长,我们也用不到,vim编辑上面源码目录里面的CMakeLists.txt文件,如下修改:

七.编译构建程序 ./build.sh 八.muduo库安装 ./build.sh install 九.测试代码,测试muduo是否能够正常使用,如下:

把muduo库的头文件和lib库文件拷贝完成以后,使用muduo库编写一个简单的echo回显服务器,测试muduo库是否可以正常使用,代码如下:

#include #include #include #include // 使用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

比丘资源网 » C++ muduo网络库源码编译安装

发表回复

提供最优质的资源集合

立即查看 了解详情