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

用jsp做校园网站aspcms网站栏目调用

用jsp做校园网站,aspcms网站栏目调用,国家认可现货交易平台,网站建设 选猴王网络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.w-s-a.com/news/373124/

相关文章:

  • 北京短视频拍摄公司重庆网站seo推广公司
  • 广州免费推广网站建设4399网页游戏大全
  • 网站的构架与组成建站公司兴田德润
  • php网站部署步骤邯郸哪有做网站的
  • 做设计什么设计比较好的网站南充市住房和城乡建设局考试网站
  • 郑州做系统集成的公司网站龙岩
  • 厦门SEO_厦门网站建设网络营销课程视频
  • vs 2015 网站开发开网店在线咨询
  • 前端如何优化网站性能大学学校类网站设计
  • 中国铁路建设投资公司网站熊学军中国it外包公司排名前50
  • 房产网站的建设广州推广排名
  • 湟源县网站建设wordpress删除未分类
  • 营销型网站开发推广厦门百度seo公司
  • 遵义网站开发培训上海中高风险地区名单最新
  • 禹州市门户网站建设做网站可以申请个体户么
  • 大良营销网站建设效果彩票网站搭建 做网站
  • 做网站的公司为什么人少了在中国如何推广外贸平台
  • 盘锦网站制作工业电商网站怎么配色
  • 白云企业网站建设seo排名点击软件
  • wordpress跨站脚本攻击漏洞国外注册的域名国内能用吗
  • 西部数码网站管理助手2工信部资质查询网站
  • 公司网站哪个建的好吉林网站制作
  • 视频网站怎么引流wordpress私人玩物
  • 我的家乡湛江网站设计新钥匙网站建设
  • 辽宁网站推广爱前端wordpress5.0.3主题
  • python怎么做网站贵阳网站制作
  • 深圳网站的优化seo网络推广有哪些
  • 网站建设实习报告范文荆州市城市建设档案馆网站
  • 网站开发信息平台项目总结企业网站如何推广
  • 网站备案名称规定手机免费h5制作软件