【Qo聊天软件】安装muduo网络库

简介: 【Qo聊天软件】安装muduo网络库

muduo网络库依赖boost,因此,需要先安装boost。安装完成后,通过muduo网络库的回显程序测试,没问题即可。

我的系统环境:centos 7.6,gcc版本7.3 (Centos7.6 gcc 4.8升级至7.3

boost安装

打开boost下载网页

复制链接地址

[root@VM-4-17-centos ~]# wget https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz

等待下载。下载完成后解压tar -zxvf boost_1_79_0.tar.gz,解压完成后进入boost_1_79_0目录

执行./bootstrap.sh

按照提示执行./b2

显示successfully,接下来把boost的头文件和库文件安装到Linux默认目录下,(避免每次使用时都要指定目录)执行./b2 install(使用root用户)

安装完成,使用测试程序测试:

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
    using namespace boost::lambda;
    typedef std::istream_iterator<int> in;
    std::for_each(
        in(std::cin), in(), std::cout << (_1 * 3) << " " );
}

boost安装完成。

muduo安装

muduo网络库的编译需要使用cmake,这里采用cmake3.0及以上版本

首先通过git克隆muduo网络库:

git clone http://github.com/chenshuo/muduo

修改一下CMakeLists.txt,muduo中有一些示例,这里注释掉这一行,先不编译示例。

查看README中的构建方式:

运行./build.sh

等待build完成后,执行./build.sh install

可以看到安装在目录../release-install-cpp11

现在把include和lib文件夹拷贝到系统目录下,避免每次使用muduo时都要指定目录:

安装完成。

测试

使用muduo/examples/simple/echo示例程序测试一下:

编译:g++ echo.cc echo.h main.cc -lmuduo_base -lmuduo_net -lpthread -std=c++11 -I ../../../

再打开一个终端,使用nc命令来模拟一个客户端,nc 127.0.0.1 2007,输入hello gangzi回显hello gangzi

回到服务端,可以看到:

说明muduo安装成功!!!

相关文章
|
1月前
|
云安全 监控 安全
网络安全产品之认识防病毒软件
随着计算机技术的不断发展,防病毒软件已成为企业和个人计算机系统中不可或缺的一部分。防病毒软件是网络安全产品中的一种,主要用于检测、清除计算机病毒,以及预防病毒的传播。本文我们一起来认识一下防病毒软件。
54 1
|
1月前
|
数据采集 JavaScript 前端开发
实用工具推荐:适用于 TypeScript 网络爬取的常用爬虫框架与库
实用工具推荐:适用于 TypeScript 网络爬取的常用爬虫框架与库
|
18天前
|
数据采集 大数据 数据安全/隐私保护
掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
本文探讨了使用Perl和RobotRules库在遵循robots.txt规则下抓取小红书数据的方法。通过分析小红书的robots.txt文件,配合亿牛云爬虫代理隐藏真实IP,以及实现多线程抓取,提高了数据采集效率。示例代码展示了如何创建一个尊重网站规则的数据下载器,并强调了代理IP稳定性和抓取频率控制的重要性。
掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
|
1月前
|
监控 安全 网络安全
【软件设计师备考 专题 】网络软件
【软件设计师备考 专题 】网络软件
44 0
|
3天前
|
人工智能 安全 大数据
SDN(软件定义网络)——重塑网络架构的新视角
SDN(软件定义网络)是网络架构革新的关键,通过分离控制与数据平面,实现网络的灵活、高效管理。未来,SDN将更广泛应用于各行业,与云计算、大数据、AI融合,推动数字化转型。开放与标准化的趋势将促进SDN生态发展,提供以业务需求为导向、智能化自动化管理及增强网络安全的新视角。SDN将在更多领域扮演重要角色,支持网络技术的创新与进步。
|
6天前
|
存储 Linux 网络安全
centos7使用yum网络安装
这些是使用Yum进行网络安装的基本步骤。根据你的需求,你可以重复步骤3和4来安装其他软件包。请注意,执行Yum操作需要root或具有sudo权限的用户。
20 1
|
11天前
|
运维 网络架构
软件体系结构 - 网络拓扑结构
【4月更文挑战第14天】软件体系结构 - 网络拓扑结构
13 0
|
24天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
1月前
|
数据采集 存储 Scala
挖掘网络宝藏:利用Scala和Fetch库下载Facebook网页内容
本文介绍了如何使用Scala和Fetch库下载Facebook网页内容,同时通过爬虫代理服务(以亿牛云为例)绕过网络限制。代码示例展示了配置代理服务器、多线程爬取及内容存储的过程。注意实际应用时需替换代理服务器配置和目标URL,并考虑应对复杂的反爬虫机制。此方法兼顾匿名性和效率。
挖掘网络宝藏:利用Scala和Fetch库下载Facebook网页内容
|
1月前
|
Kubernetes 应用服务中间件 nginx
Kubernetes服务网络Ingress网络模型分析、安装和高级用法
Kubernetes服务网络Ingress网络模型分析、安装和高级用法
36 5