
网络编程
文章平均质量分 93
^卿^
他日若是凌云志,敢笑黄巢不丈夫
展开
-
Linux 的 IO 通信 以及 Reactor 线程模型详解
Linux 的 IO 通信 以及 Reactor 线程模型详解 IO 通信模型 我们先要来谈谈 I/O 通信。说到 I/O 通信,往往会提到同步(synchronous)I/O 、异步(asynchronous)I/O、阻塞(blocking)I/O 和非阻塞(non-blocking)I/O 四种。有关同步、异步、阻塞和非阻塞的区别很多时候解释不清楚,不同的人知识背景不同,对概念很难达成共识。本文讨论的背景是 Linux 环境下的 Network I/O。 一次 I/O 过程分析 对于一次 Network转载 2021-09-23 23:37:03 · 287 阅读 · 0 评论 -
epoll全面讲解:从实现到应用
epoll全面讲解:从实现到应用 什么是epoll?或者说,它和select有什么区别? 什么是select? 有的朋友可能对select也不是很了解啊,我这里稍微科普一下:网络连接,服务器也是通过文件描述符来管理这些连接上来的客户端,既然是供连接的服务器,那就免不了要接收来自客户端的消息。那么多台客户端(不出意外,本文的客户端指的是万能并发),消息那么的多,要是漏了一条两条重要消息,那也不要用TCP了,那怎么办? 前辈们就是有办法,轮询,轮询每个客户端文件描述符,查看他们是否带着消息,如果带着,那就处理一转载 2021-09-22 21:36:37 · 425 阅读 · 0 评论 -
linux select函数解析以及示例
linux select函数解析以及示例 背景 linux下的I/O操作定义:在我看来,I/O是指数据流的操作,比如说网络编程的I/O操作,串口的读写等等可以称为I/O操作。在linux系统中一共有下面五种I/O操作模式。 阻塞I/O(blocking I/O) 非阻塞I/O (nonblocking I/O) I/O复用 (I/O multiplexing) 信号驱动I/O (signal driven I/O (SIGIO)) 异步I/O (asynchronous I/O (the POSIX原创 2021-09-18 21:35:37 · 1036 阅读 · 0 评论