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

如何查看网站是否备案石家庄企业招聘信息网

如何查看网站是否备案,石家庄企业招聘信息网,天津百度推广中心,网络平台制作软件教程Muduo网络库#xff1a;底层实质上为Linux的epoll pthread线程池#xff0c;且依赖boost库。 muduo的网络设计核心为一个线程一个事件循环#xff0c;有一个main Reactor负载accept连接#xff0c;然后把连接分发到某个sub Reactor(采用轮询的方式来选择sub Reactor)…  Muduo网络库底层实质上为Linux的epoll pthread线程池且依赖boost库。 muduo的网络设计核心为一个线程一个事件循环有一个main Reactor负载accept连接然后把连接分发到某个sub Reactor(采用轮询的方式来选择sub Reactor)该连接的所用操作都在那个sub Reactor所处的线程中完成。多个连接可能被分派到多个线程中以充分利用CPUReactor poll的大小是固定的根据CPU的数目确定。如果有过多的耗费CPU I/O的计算任务可以提交到创建的ThreadPool线程池中专门处理耗时的计算任务。 1、 muduo网络库实例 muduo网络库实质为: epoll 线程池优点是能够将网络I/O的代码和业务代码分开。 而业务代码主要分为用户的连接和断开、用户的可读写事件两类。至于什么时候发生这些事件由网络库进行上报如何监听这些事件都是网络库所封装好的我们就可以快速进行项目开发。 muduo给用户提供了两个主要的类 1、TcpServer用于编写服务器程序。 2、TcpClient用于编写客户端程序。 如何配置muduo网络库请参考 写文章-CSDN创作中心 muduo网络库服务器编程 基于muduo网络库开发服务器程序 组合TcpServer对象创建EventLoop事件循环对象的指针明确TcpServer构造函数需要什么参数输出ChatServer的参数在当前服务器类的构造函数当中注册处理连接的回调函数和处理读写事件的回调函数 #include muduo/net/TcpServer.h #include muduo/net/EventLoop.h #include iostream #include functional #include string using namespace std; using namespace muduo; using namespace muduo::net; using namespace placeholders;class ChatServer { public:ChatServer(EventLoop *loop,const InetAddress serverAddr,const string nameArg): _server(loop, serverAddr, nameArg), _loop(loop){// 注册连接回调_server.setConnectionCallback(std::bind(ChatServer::onConnection, this, _1));// 注册消息回调_server.setMessageCallback(std::bind(ChatServer::onMessage, this, _1, _2, _3));// 设置线程数量_server.setThreadNum(4); // 4个IO线程}void start(){_server.start();}private:// 处理连接void onConnection(const TcpConnectionPtr conn){if (conn-connected()){cout conn-peerAddress().toIpPort() - conn-localAddress().toIpPort() state : online endl;}else{cout conn-peerAddress().toIpPort() - conn-localAddress().toIpPort() state : offline endl;}}// 处理消息void onMessage(const TcpConnectionPtr conn, Buffer *buffer, Timestamp time){string buf buffer-retrieveAllAsString();cout recv data: buf time: time.toString() endl;conn-send(buf); // 回显消息}TcpServer _server;EventLoop *_loop; };int main() {EventLoop loop;InetAddress addr(127.0.0.1, 9898); // 监听 127.0.0.1:9898ChatServer server(loop, addr, ChatServer);server.start(); // 启动服务器loop.loop(); // 事件循环return 0; } 上面的代码简单的使用了muduo网络库实现了一个回显服务器我们可以在linux系统终端中使用telnet命令让客户端连接。 2、muduo网络库原理 Muduo 基于 Reactor 模式核心是事件驱动。以下是其工作流程 启动服务器 创建一个 EventLoop 实例作为主循环。         创建一个 TcpServer 实例设置回调函数连接、消息处理。         调用 loop.loop() 开始事件循环。 事件监听 主线程监听新连接。         每当有新连接到来将其分配到工作线程处理。 事件分发与处理 EventLoop 监听事件通过 Poller 检测就绪的文件描述符。         调用 Channel 的回调函数处理事件。 数据收发与连接管理 使用 TcpConnection 提供的接口收发数据。         在连接断开时自动清理资源。 3、经典的服务器设计模式Reactor模式 服务端程序架构基本上是一个大的while循环程序阻塞在accept或poll函数上等待被监控的socket描述符上出现预期的事件。事件到达后accept或poll函数的阻塞解除程序向下执行根据socket描述符上出现的事件执行read、write或错误处理。 整体架构如下图所示 muduo的软件架构采用的也是Reactor模式只是整个模式被分成多个类并且支持以线程池的方式实现多线程并发处理所以显得有些复杂。整体架构如下图所示
http://www.hkea.cn/news/14320339/

相关文章:

  • 建设专业网站哪家比较好Wordpress 删除nginx
  • 孝感网站开发培训机构ktv网络推广方案
  • 百度如何网站为什么网站收录下降
  • 深圳网站建设公司招聘电话销售海南万宁市
  • 简单扁平化风格后台网站模板阜阳html5网站建设
  • 企业网站功能包括做百度推广设置网站统计
  • 邹平网站建设公司小程序项目描述怎么写
  • 网站运营做内容出口网站有哪些
  • 免费做ppt的网站做广告的软件app
  • 专业网站建设企业网站制作网站如何收费
  • 建设网站那家公司好全球排行前50网站开发语言
  • 用手机做电影网站网站推广的重要性
  • 做公司+网站建设价格低石家庄网站建设平台
  • wordpress网站安装插件东营建设企业网站
  • 海口网站建设好网站突然打不开了
  • iis 网站权限wordpress 随机点击数
  • 网站型跟商城型天津房地产集团网站建设
  • 本地网站模版批量修改网站字符杭州建站模板搭建
  • 石景山成都网站建设小程序制作
  • 怎么写网站规划方案如何将自己做的网站发布
  • 用什么搭建个人网站windows10系统优化
  • 江门营销网站建设建设一个营销型网站
  • 做电商网站费用大型购物网站服务器
  • adsl 网站服务器wordpress 查询参数
  • 服装辅料东莞网站建设青岛公司logo设计
  • 番禺制作网站设计网站 公司
  • 企业做网站需要准备什么资料石家庄专业网站营销
  • 青岛网站设计企业中建西部建设西南有限公司网站
  • 南京自助建站展厅平面设计
  • 山西省建设信息网站聚名网名