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

广州外贸网站制作公司手表网站建设

广州外贸网站制作公司,手表网站建设,贵州网站建设公司推荐,网页的设计与应用的论文重写Sylar基于协程的服务器#xff08;7、TcpServer HttpServer的设计与实现#xff09; 重写Sylar基于协程的服务器系列#xff1a; 重写Sylar基于协程的服务器#xff08;0、搭建开发环境以及项目框架 || 下载编译简化版Sylar#xff09; 重写Sylar基于协程的服务…重写Sylar基于协程的服务器7、TcpServer HttpServer的设计与实现 重写Sylar基于协程的服务器系列 重写Sylar基于协程的服务器0、搭建开发环境以及项目框架 || 下载编译简化版Sylar 重写Sylar基于协程的服务器1、日志模块的架构 重写Sylar基于协程的服务器2、配置模块的设计 重写Sylar基于协程的服务器3、协程模块的设计 重写Sylar基于协程的服务器4、协程调度模块的设计 重写Sylar基于协程的服务器5、IO协程调度模块的设计 重写Sylar基于协程的服务器6、HOOK模块的设计 重写Sylar基于协程的服务器7、TcpServer HttpServer的设计与实现 TcpServer模块架构图 将基于线程的主从Reactor模型进行协程的定制化修改如图所示。 TcpServer实现 TcpServer类是一个服务器通用类TcpServer类的实现是Server端专门用来管理Tcp连接的主要的成员函数及作用如下 构造函数用户在构造一个TcpServer时会传三个类型都为IOManager的参数参数名以功能命名分别是worker、io_worker、accept_worker。 bind函数因为一台服务器有可能有多个ip端口对所以用户在调用bind函数时可能会传入多个地址对bind函数就是负责为这些ip地址创建套接字并且将ip地址和固定端口绑定开始监听这些套接字。 start函数创建accept协程并将accept协程放到accept_worker协程调度器里面去accept协程实际上就是回调函数是TcpServer::startAccept的协程。 start函数的伪代码 startAccept函数是一个接受客户端连接的回调函数内部是一个调用accept函数的死循环在接受到一个socketfd后将套接字封装成IO协程并放入io_worker协程调度器中进行调度。IO协程就是回调函数是TcpServer::handleClient函数的协程。 startAccept函数的伪代码 handleClient函数该函数是一个虚函数是专门用来和客户请求对接的协程在TcpServer中是一个简单打印连接信息的虚函数想要实现一个实用的服务器如HTTP服务器、FTP服务器等只需要对handleClient函数做定制化重写即可。 handleClient函数伪代码 HTTP服务器的实现 HttpServer类继承TcpServer类并重写TcpServer::handleClient函数。 HttpServer类重写了handleClient函数内部实现为不断调用recvRequest函数的死循环recvRequest函数底层会调用read函数读取并解析客户请求。在调用revcRequest函数后会将解析的请求提交给Servlet类处理请求Servlet层会返回回复报文然后利用sendResponse函数将回复报文发送回客户端。sendResponse函数底层调用write函数。 handleClient函数重写如下 感兴趣的同学可以阅读一下本文实现的源码https://github.com/LunarStore/lunar 于此Sylar基础模块设计的讲解完结。 除了基于协程的服务器外推荐读者也可以去看一下Muduo基于线程的网络库的设计。两者对比着学习才能有更好的理解。sylar相对于Muduo来说性能确实没那么高但是sylar设计的初衷是奔着框架去的所以sylar基础设施做的特别好比如有Muduo没有的配置模块、动态库模块、daemon模块等sylar另一大优势是对网络编程友好可以以同步的方式进程网络业务的编写同时享受异步的性能。而深入阅读Muduo其实就可以发现Muduo网络库One Loop Per Thread的思想和Nginx的One Loop Per Process有神奇的相似之处这种模型靠着每个线程都有自己的loop和任务队列将需要跨线程执行的任务添加到各自的队列中去串行执行加锁的临界区会很小几乎不需要锁。所以Muduo性能很高。 Muduo源码笔记系列 muduo源码阅读笔记0、下载编译muduo muduo源码阅读笔记1、同步日志 muduo源码阅读笔记2、对C语言原生的线程安全以及同步的API的封装 muduo源码阅读笔记3、线程和线程池的封装 muduo源码阅读笔记4、异步日志 muduo源码阅读笔记5、Channel和Poller muduo源码阅读笔记6、EvevntLoop和Thread muduo源码阅读笔记7、EventLoopThreadPool muduo源码阅读笔记8、定时器TimerQueue muduo源码阅读笔记9、TcpServer muduo源码阅读笔记10、TcpConnection muduo源码阅读笔记11、TcpClient 本章完结
http://www.pierceye.com/news/112658/

相关文章:

  • 开家网站设计公司广州网站建设app开发
  • 建站服务公司网站源码成都游戏外包公司排名
  • 呼伦贝尔网站建设呼伦贝尔astro wordpress
  • 做网站需要好多钱专业制作广告字
  • 网站建设的需要是什么seo营销方案
  • 网站开发服务的协议wordpress自动翻译
  • 网站网站制作400多少钱wordpress 会员积分
  • 天津网站建设首选津坤科技做视频网站用什么好处
  • wordpress ffmpegsem seo是什么意思呢
  • 九江建网站的公司做废钢那个网站好
  • 做网站官网需多少钱wordpress查看访问者ip
  • 美食网站php源码wordpress 文章消失
  • 四川住房和城乡建设厅网站万达网站建设
  • 网站运营一般做那些分析快手营销软件
  • 重庆大渡口建设网站站群搭建
  • 2018年网站开发技术动漫电影做英语教学视频网站
  • 设备管理系统网站模板网站开发基础知识试题
  • wordpress建立好的网站万能搜索网站
  • 杭州 高端网站建设wordpress 不显示ip
  • 校考前做试题的网站池州哪里有做网站
  • 四合一小说网站搭建教程WordPress主题资源
  • 网站制作com台州网站哪家专业
  • 网站怎么上百度阿里云网站建设
  • 全国最大的网站建设公司肇庆网络推广
  • 网站做301跳转需解析设计用哪些网站有哪些功能
  • 如何将网站添加到信任站点手机价格
  • 做网站显示上次登录时间代码深圳有哪些招聘网站
  • 网站开发可选择的方案页面设计说明
  • 手机付费咨询网站建设网站正能量免费推广软件晚上
  • 网站群建设技术规范seo收索引擎优化