CCnet | 单线程reactor演变为多线程2020年12月30日| 编程 编程.C 编程.网络编程ccnet从单线程演变为多线程 ccnet现状: epoll linux平台 事件循环 单线程 reactor 监听和新连接的事件都在主线程中 单线程的ccnet ccnet的单线程的角色: EventLoop: 整个事件循环。 EPollPoller: 负责事件的收集。 Channel……阅读全文
五种网络IO模型总结2020年12月28日| 编程 编程.网络编程概述 在网络上看到很多关于阻塞IO、非阻塞IO、同步IO、异步IO的例子,总觉得写的过于复杂并且让人难以理解。于是我把我自己把这几个概念的理解写下来以供参考。 POSIX POSIX(可移植操作系统接口)把同步IO……阅读全文
CCnet | 一个reactor单线程网络库2020年12月27日| 编程 编程.C 编程.网络编程缘由 最近在研究陈硕的网络库muduo,是一个基于reactor架构的网络库。我对网络库的感觉是易用,但是内容庞大,依赖颇多。比如boost网络库里面的一些语法让人生畏。关于reactor和proact……阅读全文
TCP/IP | 大量TIME_WAIT对线上业务的影响2020年10月10日| 编程 编程.网络编程TCP的三次握手和四次挥手 TIME_WAIT概述 TIME_WAIT 状态: TCP 连接中,主动关闭连接的一方出现的状态;(收到 FIN 命令,进入 TIME_WAIT 状态,并返回 ACK 命令) 保持 2 个 MSL 时间,即,4 分钟 ;(MSL 为 2 分钟) TCP 连接建立后,「主……阅读全文