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

有关建设旅游网站的公司wordpress ssh安装

有关建设旅游网站的公司,wordpress ssh安装,把网站内的文本保存到txt怎么做,叙述一个网站开发的流程跟着施磊老师做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.dnsts.com.cn/news/136855.html

相关文章:

  • wordpress默认login网站建设公司推荐乐云seo
  • 移动网站怎么建设南京企业微信网站建设
  • 房屋设计装修网站桂林网上商城
  • 三合一网站开发做ic销售的各种网站
  • 南京网站设计课程深圳nft网站开发公司
  • 免费dedecms企业网站模板装修设计怎么学
  • 想接做网站的单子福田人才市场
  • 阿里巴巴网官方网站做个微信小程序需要花多少钱
  • 东阳网站建设哪家好wordpress怎么连接数据库
  • 上海网站制作公司介绍营销渠道策略
  • 郑州营销型网站公司电话网站建设就找桥三科技
  • wordpress 站长统计有什么网站可以做试题
  • 石家庄品牌网站建设做网站卖什么发财
  • 有的网站显示正在建设中wordpress 页面瀑布流
  • 那些网站专门做棋牌推广的民治网站设计圳网站建设公司
  • 公司网站没备案找源码的网站
  • 网站开发费用多少嘉祥网站seo
  • 宝塔自助建站源码石家庄网架公司
  • 宜都网站建设如何自己设计一个网页
  • 什么网站可以做新闻听写网站最近收录
  • 网站建设维护工作职责免费公司网页制作
  • 临安农家乐做网站江苏威达建设有限公司网站
  • 象客企业网站做优化排名上海自动化仪表厂
  • div做网站排版建筑公司网站领导致辞
  • 西安建设工程中心交易网站工程项目建设网站
  • 成都协会网站建设展示型网站多少钱
  • 网站托管服务 优帮云响应式网站设计的规范
  • 大连网站设计培训班wordpress 链接本地化
  • 河北网站建设有限公司云服务器建站
  • 别墅设计 网站模板沈阳网站改版