关于IO会涉及到阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO等几个知识点。IO多路复用中文比较让人头大,IO多路复用的原文叫 I/O multiplexing,这里的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock的状态来同时管理多个I/O流. 发明它的目的是尽量多的提高服务器的吞吐能力。
然后 net 模块注册 onconnect 回调函数,该函数将在客户端请求到来后,在 Libuv 的 poll io 阶段执行,onconnect 函数调用了 C++ 的 ConnectionWrap::OnConnection 方法,内部调用了 Libuv 的 uv_accpet 去接收来自客户端的连接。
引言IO(Input/Output) 方面的基本知识,相信大家都不陌生,毕竟这也是在学习编程基础时就已经接触过的内容,但最初的 IO 教学大多数是停留在最基本的 BIO ,而并未对于 NIO、AIO 、多路复用等的高级内容进行详细讲述,但这些却是大部分高性能技术的底层核心,因此本