![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
文章平均质量分 90
小占同学_
这个作者很懒,什么都没留下…
展开
-
实现基于epoll的reactor网络模型
后续会用这份 reactor 代码实现 http server(也就是C++选手熟知的烂大街的webserver)和 websocket server,后面还会更新知名的用 reactor 模型设计的网络库,如muduo等。它将数据从发送缓冲区写入到客户端套接字,并将套接字的事件重新设置为 EPOLLIN 以继续接收来自客户端的数据。reactor 将 io 管理,转变为事件管理,核心在于不同的 io 事件,对应不同的回调函数,先register(注册),后callback(回调)原创 2024-08-23 15:16:15 · 178 阅读 · 0 评论 -
IO多路复用(select/poll/epoll)——基础
本文主要介绍select/poll/epoll三大IO多路复用方法,主要介绍相关的函数使用。原创 2024-08-23 14:04:52 · 282 阅读 · 0 评论 -
socket网络编程——基础
使用套接字函数需要包含头文件 其实上述代码就是经典的一请求一线程模型,相比于大家所熟悉的IO多用复用,其实一请求一线程也不是一无是处,某种程度上来说是异步的,将IO就绪与IO收发数据分开,但是,一个请求就需要开一个线程,显然是很浪费资源的,并且 fd 也不好管理,如果有一种轻量级的线程就好了,也就是所谓的协程,这部分内容以后再详细讨论。原创 2024-08-22 19:04:59 · 876 阅读 · 0 评论 -
4台虚拟机实现百万并发
百万并发对epoll来说是小菜一碟,问题在于如何解除所有系统限制,可以打开的文件数量限制和五元组的限制是所有人都会遇到的问题,NAT表溢出是比较独特的问题,这两份代码是可以跑到百万并发的(在物理机性能不要太低的情况下),每个人系统的独特限制可能会不一样,如果你出现了新的问题,可以在评论区留言讨论!原创 2024-08-22 13:53:33 · 421 阅读 · 0 评论