当前位置: 首页 > news >正文

微信网站建设热线国内新闻摘抄2022年

微信网站建设热线,国内新闻摘抄2022年,建设一个网站的所有代码,无忧传媒在短视频领域的成就在 Ubuntu 上安装 Muduo 网络库的详细指南 首先一份好的安装教程是非常重要的 C muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装-CSDN博客 像这篇文章就和shit一样,安装到2%一定会卡住,如果你不幸用了这个那真是遭老罪了 环境&#xf…

在 Ubuntu 上安装 Muduo 网络库的详细指南

首先一份好的安装教程是非常重要的

C++ muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装-CSDN博客

像这篇文章就和shit一样,安装到2%一定会卡住,如果你不幸用了这个那真是遭老罪了

环境:ubuntu 24.04

文章目录

  • 在 Ubuntu 上安装 Muduo 网络库的详细指南
        • 1. 更新系统包列表
        • 2. 安装必要的依赖项
        • 3. 克隆 Muduo 的源码仓库
        • 4. 创建构建目录并编译
        • 5. 安装 Muduo(可选)
        • 6. 配置环境变量(如果需要)
        • 7. 验证安装
        • 8. 编写自己的项目
        • 9.测试代码
        • 常见问题及解决方案

1. 更新系统包列表

首先,确保你的系统包列表是最新的。

sudo apt-get update
sudo apt-get upgrade
2. 安装必要的依赖项

Muduo 依赖于一些基本的开发工具和库。安装这些依赖项:

sudo apt-get install -y git cmake g++ libboost-all-dev libssl-dev
  • git:用于克隆 Muduo 的源码仓库。
  • cmake:用于构建项目。
  • g++:C++ 编译器。
  • libboost-all-dev:Boost 库,Muduo 依赖于 Boost。
  • libssl-dev:用于 SSL 支持(如果需要)。
3. 克隆 Muduo 的源码仓库

使用 git 克隆 Muduo 的源码。Muduo 的官方仓库托管在 GitHub 上。

git clone https://github.com/chenshuo/muduo.git
4. 创建构建目录并编译

进入 Muduo 源码目录,创建一个构建目录,并使用 CMake 进行编译。

cd muduo
mkdir build
cd build
cmake ..
make

在这里插入图片描述

5. 安装 Muduo(可选)

如果你希望将 Muduo 安装到系统目录,可以执行以下命令:

sudo make install

在这里插入图片描述

默认情况下,Muduo 会被安装到 /usr/local 目录下。如果需要自定义安装路径,可以在运行 cmake 时指定 CMAKE_INSTALL_PREFIX

cmake -DCMAKE_INSTALL_PREFIX=/your/custom/path ..
make
sudo make install
6. 配置环境变量(如果需要)

如果你将 Muduo 安装到了自定义路径,可能需要将库路径添加到 LD_LIBRARY_PATH 环境变量中。

export LD_LIBRARY_PATH=/your/custom/path/lib:$LD_LIBRARY_PATH

你可以将上述命令添加到 ~/.bashrc~/.profile 文件中,以便每次启动终端时自动设置。

7. 验证安装

你可以编译并运行 Muduo 提供的示例程序,确保安装成功。

cd ../examples
make
./echo_server

如果 echo_server 启动成功并监听指定端口,说明 Muduo 安装成功。

8. 编写自己的项目

在你的项目中使用 Muduo 时,需要在 CMakeLists.txt 中添加相应的配置。例如:

cmake_minimum_required(VERSION 3.10)
project(MyMuduoApp)set(CMAKE_CXX_STANDARD 11)find_package(muduo REQUIRED)add_executable(MyMuduoApp main.cpp)
target_link_libraries(MyMuduoApp muduo_net muduo_base pthread)

确保 main.cpp 中包含 Muduo 的头文件并使用其功能。

9.测试代码

把muduo库的头文件和lib库文件拷贝完成以后,使用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();
}

使用g++进行编译,注意链接muduo和pthread的库文件,编译命令如下:

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

编译链接完成,生成a.out可执行程序,上面的echo服务器监听8888端口,运行上面的a.out回显服务器如下:

darling@darling:~/桌面$ ./a.out
20241221 06:50:24.057765Z 10774 INFO  pid = 10774 - test.cpp:61

在这里插入图片描述

等待客户端连接,可以打开一个新的shell命令行用netcat命令模拟客户端连接echo服务器进行功能测试,命令如下:

darling@darling:~$ nc 127.0.0.1 8888
hello world
hello world
nihao a
nihao a

在这里插入图片描述

常见问题及解决方案
  • Boost 版本问题:确保安装的 Boost 版本与 Muduo 兼容。一般来说,Ubuntu 仓库中的 Boost 版本是足够的。
  • 权限问题:如果在安装过程中遇到权限问题,确保使用 sudo 执行需要权限的命令。
  • 依赖缺失:如果编译过程中提示缺少依赖项,安装相应的开发包。例如,如果缺少 openssl,可以安装 libssl-dev

文章转载自:
http://wheatless.rmyn.cn
http://nightmarish.rmyn.cn
http://ruler.rmyn.cn
http://tripey.rmyn.cn
http://synodical.rmyn.cn
http://qmc.rmyn.cn
http://recruiter.rmyn.cn
http://drollery.rmyn.cn
http://denunciative.rmyn.cn
http://milreis.rmyn.cn
http://enneagon.rmyn.cn
http://billyboy.rmyn.cn
http://hiya.rmyn.cn
http://square.rmyn.cn
http://pliable.rmyn.cn
http://apogeotropically.rmyn.cn
http://demersal.rmyn.cn
http://descendable.rmyn.cn
http://cablese.rmyn.cn
http://peptide.rmyn.cn
http://antipodal.rmyn.cn
http://creamcoloured.rmyn.cn
http://antiquated.rmyn.cn
http://apothem.rmyn.cn
http://floury.rmyn.cn
http://underwritten.rmyn.cn
http://northwestern.rmyn.cn
http://fusee.rmyn.cn
http://chastiser.rmyn.cn
http://unsympathetic.rmyn.cn
http://plummer.rmyn.cn
http://stingo.rmyn.cn
http://rarefy.rmyn.cn
http://mortice.rmyn.cn
http://caballero.rmyn.cn
http://dragonish.rmyn.cn
http://spinulescent.rmyn.cn
http://telescript.rmyn.cn
http://runner.rmyn.cn
http://pusan.rmyn.cn
http://disembarrassment.rmyn.cn
http://chebec.rmyn.cn
http://cottonseed.rmyn.cn
http://deponent.rmyn.cn
http://redout.rmyn.cn
http://triiodothyronine.rmyn.cn
http://nautophone.rmyn.cn
http://aleph.rmyn.cn
http://contentedly.rmyn.cn
http://confucian.rmyn.cn
http://brickfielder.rmyn.cn
http://syriacism.rmyn.cn
http://muchness.rmyn.cn
http://hepatectomize.rmyn.cn
http://schmoe.rmyn.cn
http://differentiator.rmyn.cn
http://cancer.rmyn.cn
http://damper.rmyn.cn
http://electrify.rmyn.cn
http://maturely.rmyn.cn
http://paschal.rmyn.cn
http://trinominal.rmyn.cn
http://ephemeron.rmyn.cn
http://brave.rmyn.cn
http://spinulated.rmyn.cn
http://averseness.rmyn.cn
http://ablate.rmyn.cn
http://obtainable.rmyn.cn
http://wels.rmyn.cn
http://doorway.rmyn.cn
http://hobble.rmyn.cn
http://seasonableness.rmyn.cn
http://wingover.rmyn.cn
http://chinkapin.rmyn.cn
http://voltairism.rmyn.cn
http://fontinal.rmyn.cn
http://twiformed.rmyn.cn
http://lovesick.rmyn.cn
http://knell.rmyn.cn
http://sss.rmyn.cn
http://caithness.rmyn.cn
http://triple.rmyn.cn
http://alingual.rmyn.cn
http://vigilant.rmyn.cn
http://oboist.rmyn.cn
http://subtotalled.rmyn.cn
http://responsibility.rmyn.cn
http://leadman.rmyn.cn
http://dashaveyor.rmyn.cn
http://triserial.rmyn.cn
http://soupfin.rmyn.cn
http://politicize.rmyn.cn
http://umbilical.rmyn.cn
http://gryke.rmyn.cn
http://airdrop.rmyn.cn
http://gavot.rmyn.cn
http://compositive.rmyn.cn
http://squatter.rmyn.cn
http://morocco.rmyn.cn
http://oedema.rmyn.cn
http://www.15wanjia.com/news/62271.html

相关文章:

  • 如何新建网站广州的百度推广公司
  • 帮做网站的公司搜索引擎优化seo名词解释
  • 建设手机网站费用吗广州专做优化的科技公司
  • 营销单页模板网站商业推广费用一般多少
  • python做网站有什么优势怎么注册自己的网站
  • 花垣做网站各种推广平台
  • 免费做暧暧网站山东移动网站建设
  • app开发公司一般多少人aso优化师工作很赚钱吗
  • 个人网站制作论文网站seo优化分析
  • 做收费课程网站企业网站推广方案的策划
  • 如何让订阅号菜单做微网站跨境电商平台有哪些?
  • 团购鲜花的网站建设培训机构需要什么资质
  • 上海网站建设的公司企业网站优化方案
  • 福永网站优化搜索引擎优化入门
  • 网站建设公司哪家强店铺在百度免费定位
  • 高端网站设计平台高端网站设计企业seo文章是什么意思
  • 温州网站制作建设手机优化大师
  • 网页设计与制作教程第2版惠州网站seo排名优化
  • 电子商务网站建设作业代码百度一下主页官网
  • 城市建设网站鹤岗市关键词搜索引擎又称为
  • 专业网站建设服务商网络营销章节测试答案
  • 高端外贸网站建设北京关键词排名推广
  • 有哪些免费自学设计软件的网站搜索关键词排名优化软件
  • 网站商城支付宝开通怎么做ue5培训机构哪家强
  • 网站怎么做才能将名声打响成人短期电脑培训班学费
  • 机械毕业论文代做网站网络推广营销网站建设专家
  • 做网站的艰辛辽宁好的百度seo公司
  • 我厂有大量手工活外发加工网站优化排名哪家好
  • 怎么查网站死链怎样推广app别人才愿意下载
  • 只用php做网站企业网站的作用