网络编程
文章平均质量分 80
随心小太阳
这个作者很懒,什么都没留下…
展开
-
Asynchronous TCP server using coroutines
The server:#include #include #include #include #include #include #include #include #include namespace asio = boost::asio;typedef boost::shared_ptr socketptr;void handle_connection(a原创 2017-01-24 19:38:48 · 289 阅读 · 0 评论 -
reactor模式 C++
我对reactor模式的理解是:先把任务放到acceptor那里 register,然后就先放着不动。等到这个任务被别人通知要做的时候,便去执行这个任务。详细可参考以下这篇文章http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf以下这个博文也非常清晰地介绍了reactor的细节http://ww转载 2017-01-24 19:57:23 · 1762 阅读 · 0 评论 -
epoll 水平触发 边缘触发
水平触发:只要缓冲区还有数据,内核就还会通知用户。用户如果第一次读取数据没读完,即使没有任何新的操作触发,还是可以继续通过epoll_wait来获取事件边缘触发:只有当新事件触发的时候,才能通过epoll_wait来获取数据,如果第一次读取数据没读完,就只能等待下一次事件触发来获取余下的数据。换句话说,即使缓冲区还有数据,但没有新事件触发,用户是获取不到事件的(不能读取余下数据)代原创 2017-01-24 20:26:12 · 406 阅读 · 0 评论