IO多路复用(select、poll、epoll)介绍及实现 IO多路复用中包括 select、pool、epoll,这些都属于同步,还不属于异步 一、IO多路复用介绍 1、select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组, ...
分类:
编程语言 时间:
2017-10-30 23:57:44
阅读次数:
487
1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp ...
分类:
其他好文 时间:
2017-10-28 11:09:27
阅读次数:
183
TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。 OSI和TCP/IP是很基础但又非常重要的网络 ...
分类:
其他好文 时间:
2017-10-27 11:39:28
阅读次数:
160
非阻塞io 特点:实现了非阻塞,提高了cpu占用率,但由于一直监听 accept ,cpu占用率过高! 多路复用 select 模型: select 模型过程: 用户进程创建socket对象,拷贝监听的fd到内核空间,每一个fd会对应一张系统文件表,内核空间的fd响应到数据后,就会发送信号给用户进程 ...
分类:
其他好文 时间:
2017-10-27 11:39:06
阅读次数:
222
近段时间开始学习《Unix网络编程》,代码实现了一个简单的IO多路复用+阻塞式的服务端,在学习了非阻塞式IO后,有一个疑问,即: 假如调用了select,并且关注了几个描述字,当关注的描述字可读时,select成果返回并告诉我对应套接口已可读,此时采用阻塞式read或非阻塞式read去读套接口有何区 ...
分类:
其他好文 时间:
2017-10-26 11:41:51
阅读次数:
240
什么是I/O多路复用 I/O多路复用就是通过一种机制,可以监视多个描述符,一旦某个IO能够读写,通知程序进行相应的读写操作。 I/O多路复用的场合 1、当客户处理多个描述字时(通常是交互式输入和网络套接字),必须使用I/O复用 2、如果一个TCP服务器既要处理监听套接字,又要处理已连接套接字,一般也 ...
分类:
其他好文 时间:
2017-10-25 17:11:48
阅读次数:
175
协程和io多路复用的区别 都继承了相同的类 libevent.so 协程也可以理解是io多路复用 io多路复用更偏向io一点 协程是更上层的一种封装 偏向于函数的切换。 RabbitMQ 消息队列 1.单发送单接收 2.单发送多接收 3.广播、订阅模式 4.有选择的接收消息 Routing (按路线 ...
分类:
编程语言 时间:
2017-10-18 18:28:38
阅读次数:
294
多进程,进程queue,pipe管道,进程锁,进程池,协程,5种网络模式(阻塞io,非阻塞io,信号驱动io,io多路复用,异步io) 多进程 import multiprocessing 每个进程都会由他的父进程进行启动 windows中是pycharm linux中是 multiprocessi ...
分类:
编程语言 时间:
2017-10-18 17:36:19
阅读次数:
227
对数据交换技术和多路复用技术的基础知识做个小小的总结 (。?`ω′?) ...
分类:
其他好文 时间:
2017-10-18 13:21:06
阅读次数:
182
libevent能够处理三种事件: I/O、定时器、信号。 event_base统一管理所有事件。 eventop 用于描述event_base的底层实现机制 libevent支持多种平台,因此定义了一个全局数组来存放多个eventop。 Linux平台的I/O多路复用机制是epoll,对应epol ...
分类:
其他好文 时间:
2017-10-17 12:18:42
阅读次数:
251