wordpress关闭多站点网站的站点的管理系统

bicheng/2026/1/24 13:12:35/文章来源:
wordpress关闭多站点,网站的站点的管理系统,毕节网站建设兼职,个人网上注册公司流程图跟着施磊老师做C项目#xff0c;施磊老师_腾讯课堂 (qq.com) 一、基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数在当前服务器类的构造函数当中,注册处理连接的回调函数和处理…跟着施磊老师做C项目施磊老师_腾讯课堂 (qq.com) 一、基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数在当前服务器类的构造函数当中,注册处理连接的回调函数和处理读写事件的回调函数设置合适的服务端线程数量,muduo库会自己分配I/O线程和worker线程 test.cpp  /*muduo网络库给用户提供了两个主要的类TcpServer: 用于编写服务器程序的TcpClient: 用于编写客户端程序的epoll 线程池好处:能够把网络I/O的代码和业务代码区分开对于业务代码主要暴露两个:用户的连接和断开;用户的可读写事件告诉muduo库,你对哪些事件感兴趣,并且你给我提前注册一个回调函数,当这些事情发生时,我会通知你,你去做你的事情吧! */ #include muduo/net/TcpServer.h #include muduo/net/EventLoop.h #include iostream #include functional #include stringusing namespace std; using namespace muduo; using namespace muduo::net; using namespace placeholders; // 基于muduo网络库开发服务器程序 /*1.组合TcpServer对象2.创建EventLoop事件循环对象的指针3.明确TcpServer构造函数需要什么参数,输出ChatServer的构造函数4.在当前服务器类的构造函数当中,注册处理连接的回调函数和处理读写事件的回调函数5.设置合适的服务端线程数量,muduo库会自己分配I/O线程和worker线程 */ class ChatServer { public:// 初始化TcpServer loop:事件循环 listenAddr:IPPort nameArg:服务器的名字ChatServer(EventLoop *loop, const InetAddress listenAddr, const string nameArg): m_server(loop, listenAddr, nameArg), m_loop(loop) {// 给服务器注册用户连接的创建和断开回调m_server.setConnectionCallback(std::bind(ChatServer::onConnection, this, _1));// 给服务器注册用户读写事件回调m_server.setMessageCallback(std::bind(ChatServer::onMessage, this, _1, _2, _3));// 设置服务器端的线程数量 1个I/O线程 3个worker线程m_server.setThreadNum(4);}// 开启事件循环void start() {m_server.start();} private:// 专门处理用户的连接创建和断开 epoll listenfd acceptvoid onConnection(const TcpConnectionPtr conn) {coutconn-peerAddress().toIpPort() - conn-localAddress().toIpPort() is ;if(conn-connected()) {coutstate:onlineendl;}else {coutstate:offlineendl;conn-shutdown(); // close(fd)// m_loop-quit();}}// 专门处理用户的读写事件 conn连接/buf缓冲区/time接收到数据的时间信息void onMessage(const TcpConnectionPtr conn, Buffer *buffer, Timestamp time) {string buf buffer-retrieveAllAsString();coutrecv data:buf time:time.toString()endl;conn-send(buf);}TcpServer m_server; // #1EventLoop *m_loop; // #2 epoll };int main() {EventLoop loop; // epollInetAddress addr(127.0.0.1,6000);ChatServer server(loop, addr, ChatServer);server.start(); // listenfd epoll_ctl epollloop.loop(); // epoll_wait以阻塞方式等待新用户连接,已连接用户的读写事件等return 0; } 生成server文件注意muduo_net要在muduo_base前面命令如下 g test.cpp -o server -lmuduo_net -lmuduo_base -lpthread 二 注意本文使用到了有关muduo的TcpServer.h中找到setConnectionCallback和setMessageCallback,点击跳转到有关connectionCallback的头文件中去 /// Set connection callback./// Not thread safe.void setConnectionCallback(const ConnectionCallback cb){ connectionCallback_ cb; }/// Set message callback./// Not thread safe.void setMessageCallback(const MessageCallback cb){ messageCallback_ cb; } 有关muduo的Callbacks.h typedef std::functionvoid (const TcpConnectionPtr) ConnectionCallback;// the data has been read to (buf, len) typedef std::functionvoid (const TcpConnectionPtr,Buffer*,Timestamp) MessageCallback; 找到对应的Callback我们就可以知道回调函数的参数和返回类型了 // 专门处理用户的连接创建和断开 epoll listenfd acceptvoid onConnection(const TcpConnectionPtr conn) {...}// 专门处理用户的读写事件 conn连接/buf缓冲区/time接收到数据的时间信息void onMessage(const TcpConnectionPtr conn, Buffer *buffer, Timestamp time) {...} 我的往期文章  在windows和Linux中的安装 boost 以及 安装 muduo-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135963909?spm1001.2014.3001.5501 三、vscode实现一键运行server tasks.json {version: 2.0.0,tasks: [{type: cppbuild,label: C/C: g 生成活动文件,command: /usr/bin/g,args: [-fdiagnostics-coloralways,-g,-o,${workspaceFolder}/bin/app,// ${fileDirName}/${fileBasenameNoExtension},// -lmuduo_net,// -lmuduo_base,// -lpthread],options: {cwd: ${workspaceFolder}},problemMatcher: [$gcc],group: {kind: build,isDefault: true},detail: 编译器: /usr/bin/g}] } launch.json {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息请访问: https://go.microsoft.com/fwlink/?linkid830387version: 0.2.0,configurations: [{name: (gdb) 启动,type: cppdbg,request: launch,program: ${workspaceFolder}/bin/app,args: [],stopAtEntry: false,cwd: ${fileDirname},environment: [],externalConsole: false,MIMode: gdb,setupCommands: [{description: 为 gdb 启用整齐打印,text: -enable-pretty-printing,ignoreFailures: true},{description: 将反汇编风格设置为 Intel,text: -gdb-set disassembly-flavor intel,ignoreFailures: true}]}] } CMakeLists.txt cmake_minimum_required(VERSION 3.28.0) project(test) add_executable(server test.cpp)set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) target_link_libraries(server -lmuduo_net -lmuduo_base -lpthread) cmake -B build cmake --build build 二、CMake构建项目 testmuduo存放CMakeLists.txt和test.cpp CMakeLists.txt cmake_minimum_required(VERSION 3.28.0) project(test)# 配置头文件搜索路径 # include_directories() # 配置库文件搜索路径 # link_directories() # 设置需要编译的源文件列表 set(SRC_LIST test.cpp) # 把.指定路径下的所有源文件名字放入变量名SRC_LIST里面 # aux_source_directory(. SRC_LIST)# 生成可执行文件server,由SRC_LIST变量所定义的源文件编译生成 add_executable(server ${SRC_LIST})message(打印一下bin目录 ${BIN}) # 设置可执行文件的存放路径 set(EXECUTABLE_OUTPUT_PATH ${BIN})# 表示server这个目标程序需要链接这三个muduo_net muduo_base pthread库文件 # target_link_libraries(server -lmuduo_net -lmuduo_base -lpthread) target_link_libraries(server muduo_net muduo_base pthread) 与testmuduo文件夹同目录的CMakeLists.txt CMakeLists.txt cmake_minimum_required(VERSION 3.28.0) project(test_project)set(BIN ${PROJECT_SOURCE_DIR}/bin)# # 配置编译选项 # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -g)# 指定搜索的子目录 add_subdirectory(testmuduo) 在此终端执行命令 cmake -B build cmake --build build

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站设计排版怎么做长沙seo网站管理

每天五分钟分享一个电商模式,大家好我是商业模式策划啊浩。 今天给大家分享的模式叫作“二二复制”,我有一个客户通过我给他设计的这套模式实现销量破千万,大家如果对此感兴趣的话把自己的问题记录下来,看完文章后留言到评论区&am…

莱芜最好的网站建设公司wordpress 页面 插件

Github分支开发: 第1步:在github上创建一个新的dev分支: 更新了微信的PC版本,发现默认的箭头比以前加粗了,变得更好看了。 create branch: dev from master。 切换到该分支,看到里面的内容跟master分支的…

国内优秀网站网址怎样进行文化建设

文章主题:复杂度详解🌱所属专栏:深入理解数据结构📘作者简介:更新有关深入理解数据结构知识的博主一枚,记录分享自己对数据结构的深入解读。😄个人主页:[₽]的个人主页🔥…

网站整站模板江西网站建设

【C语言】——指针七: 前言一、 s i z e o f sizeof sizeof 与 s t r l e n strlen strlen 的对比1.1、 s i z e o f sizeof sizeof1.2、 s t r l e n strlen strlen1.3、 s i z e o f sizeof sizeof 和 s t r l e n strlen strlen 对比 二、数组和指针笔试题解析…

汝州市住房和城乡建设局网站小程序源码教程

free :观察内存使用情况 系统当中有 2848MB 左右的实体内存,我的 swap 有 1GB 左右, 那我使用free -m 以 MBytes 来显示时,就会出现上面的信息。Mem 那一行显示的是实体内存的量,Swap 则是内存交换空间的量。 total 是…

数据网站建设成本山东省住房城乡建设部网站

试卷代号:1260 软件工程 试题(半开卷) 2019年7月 一、选择题,请从四个可选项中选择正确答案。(60分,每题3分) 1.以下哪一项不是软件危机的表现形式( )。 A.成本高 B.生产…

网站都需要什么类别秦皇岛网站制作小程序开发

提示:接上文 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要&#xff0…

做pc端网站案例网站开发涉及到缓存吗

1.1 ZooKeeper 是什么 ZooKeeper 是 Apache 的顶级项目。ZooKeeper 为分布式应用提供了高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面,ZooKeeper 并没有直接采用 Paxos 算法&…

wordpress网站移植wordpress ip检测

原文网址&#xff1a;Java之泛型系列--继承父类与实现多个接口(有示例)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍java如何用泛型表示继承父类并实现多个接口。 用泛型表示某个类是某个类的子类或者实现了接口的方法为&#xff1a;<T extends A & B & C> 用…

企业网站建设 信息安全wordpress 获取当前位置

1. 模版法 该方法历史悠久&#xff0c;具体处理流程为采用一个html模版&#xff0c;将其中的关键字替换为我们希望的信息。 优点: 缺点: 所有的信息都要采取字符串批凑的方式来实现&#xff0c;比如需要一个列表&#xff0c;就需要拼凑字符串。问题是开发周期长&…

淮安网站建设服务wordpress上传ftp失败

Matplotlib颜色条配置 基本颜色颜色条选择配色方案颜色条刻度的限制与扩展功能的设置离散型颜色条 基本颜色 Matplotlib提供了8种指定颜色的方法&#xff1a; 在[0&#xff0c;1]中的浮点值的RGB或RGBA元组&#xff08;例如 (0.1, 0.2, 0.5) 或&#xff08;0.1&#xff0c; 0.…

嘉兴网站建设多少钱网络推广网站排名

随着科技的不断进步&#xff0c;API开发领域也逐渐呈现出蓬勃发展的势头。今天我将向大家介绍API接口&#xff0c;电商API接口具备独特的特点&#xff0c;使得数据获取变得更加高效便捷。 快速获取API数据——优化数据访问速度 传统的数据获取方式可能需要经过多个中介环节&…

网站建设流程新闻网页设计创建网站的基本流程

案例-标注k8s-node1是配置了SSD的节点 kubectl label node k8s-node1 disktypessd 查看标记 测试 将pod部署到disktypessd的节点上&#xff08;这里设置了k8s-node1为ssd&#xff09; 部署后查看结果-副本全都运行在了k8s-node1上—符合预期 删除标记 kubectl label node k8…

旅游网站建设价格建设网站有哪些目的是什么意思

设计模式--行为型--中介者模式 中介者模式定义结构案例实现优缺点使用场景 中介者模式 定义 又叫调停模式&#xff0c;定义一个中介角色来封装一系列对象之间的交互&#xff0c;使原有对象之间的耦合松散&#xff0c;且可以独立的改变它们之间的交互。 结构 抽象中介者角色…

wordpress新建网站后台无法登陆二手物品交换网站建设

题目 若某个家族人员过于庞大&#xff0c;要判断两个是否是亲戚&#xff0c;确实还很不容易&#xff0c;现在给出某个亲戚关系图&#xff0c;求任意给出的两个人是否具有亲戚关系。规定&#xff1a;x 和y是亲戚&#xff0c;y和z是亲戚&#xff0c;那么x和z也是亲戚。如果x&…

昆明建设招聘信息网站公众号怎么开

几年前&#xff0c;Google推出Python课堂。Google Python课堂:https://developers.google.com/edu/python/小编也整理了一下Google Python课堂的源码&#xff0c;里面有四个例子。logpuzzle这个例子主要是利用urllib模块做一个图片拼接的小游戏,主要是从一大堆的网页里面解析分…

网站SEO建设wordpress权限设置

&#x1f38a;专栏【MySQL】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 &#x1f970;欢迎并且感谢大家指出小吉的问题 文章目录 &#x1f354;概述&#x1f354;索引结构⭐B-Tree多路平衡查找树&#x1f3f3;️‍&a…

主播网站建设建立免费网站

目录 前言 基本介绍 Explain结果列解读 概述 key key_len type extra 前言 我们在设计一个系统的时候&#xff0c;有时候通常为了基础业务&#xff0c;写出的查询sql语句并不高效&#xff0c;从而影响到用户使用系统的整体体验感不是很好&#xff0c;我们通常在系统的…

禅城网站建设营销传播的服务商

1 、概念&#xff1a; 随着软构件技术的发展&#xff0c;人们开始尝试利用软构件进行搭积木式的开发&#xff0c;即构件组装模 型。 在构建组装模型中&#xff0c;当经过需求分析定义出软件功能后&#xff0c;将对构件的组装结构进行设计&#xff0c; 将系统划分成一组构件的…

用群晖做网站服务器辽宁省建设厅官网

dpdk原理 1、操作系统、计算机网络诞生已经几十年了&#xff0c;部分功能不再能满足现在的业务需求。如果对操作系统做更改&#xff0c;成本非常高&#xff0c;所以部分问题是在应用层想办法解决的&#xff0c;比如前面介绍的协程、quic等&#xff0c;都是在应用层重新开发的框…