![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
项目:访muduo库实现并发服务器
文章平均质量分 93
访muduo库实现了一个具有高并发能力的HTTP服务器
爱在西元前Wu
这个作者很懒,什么都没留下…
展开
-
三、时间轮定时器&&正则表达式&&any通用类
在我们的项目中,为了让服务器能够断开掉非活跃连接,我们可以使用Linux给我们提供的定时器。下面这段代码演示了Linux定时器的使用上边例子,是⼀个定时器的使用示例,是第一次等待3s后每隔1s钟触发⼀次定时器超时,否则就会阻塞在read读取数据这里。基于这个例子,则我们可以实现每隔1s,检测⼀下哪些连接超时了,然后将超时的连接释放掉。时间轮思想:上述的例子,存在⼀个很大的问题,每次超时都要将所有的连接遍历⼀遍,如果有上万个连接,效率无疑是较为低下的。原创 2023-12-01 22:49:10 · 819 阅读 · 1 评论 -
二、功能模块划分
然 后调用由组件使用者传入的新数据到来回调函数进行处理。Connection模块是对Buffer模块,Socket模块,Channel模块的⼀个整体封装,实现了对⼀个通信套 接字的整体的管理,每⼀个进⾏数据通信的套接字(也就是accept获取到的新连接)都会使⽤ Connection进行管理。Channel模块是对⼀个描述符需要进⾏的IO事件管理的模块,实现对描述符可读,可写,错误...事件的 管理操作,以及Poller模块对描述符进⾏IO事件监控就绪后,根据不同的事件,回调不同的处理函数功能。原创 2023-11-30 22:34:39 · 985 阅读 · 0 评论 -
一、项目介绍以及前置知识介绍
通过该项目实现的高并发服务器组件可以简洁快速的完成一个高性能服务器的搭建。并且通过组件內提供的不同应用层协议支持,也可以快速完成一个高性能应用服务器的搭建(该项目实现的组件只提供了对HTTP协议的支持)。在这里要明确的是,该项目实现的是一个高并发服务器组件,因此当前项目中并为了完成该项目需要对一些前置知识有一定的了解,接下来我会一一对不同的前置内容做出解释。原创 2023-11-29 13:29:24 · 805 阅读 · 1 评论