IO模型解析标签 : IO1.1 IO模型概述在服务器端网络编程我们经常会用到一些IO模型,有如下几种IO模型
同步阻塞IO
同步非阻塞IO
IO多路复用
异步IO
信号驱动IO
1.2 IO模型涉及的基本概念。要想好好理解上面的IO模型,我们首先来明确如下几个概念。
1. 同步:当程序发生一次功能调用的时候,需要等待这次调用返回然后才能进行下一步操作。也就是事情要一件一件做。
eg:单线程...
分类:
其他好文 时间:
2016-04-29 17:02:56
阅读次数:
147
(以下内容来自网络和自己的总结,再次感谢网络中的大神们提供的见解)
在探索select poll epoll之前我们首先要知道什么叫多路复用:
下来探索一下为什么会用到多路复用:
首先我们看看一个客户端请求服务器的完整过程。首先,请求过来,要建立连接,然后再接收数据,接收数据后,再发送数据。
具体到系统底层,就是读写事件,而当读写事件没有准备好时,必然不可操作,如果不用非...
分类:
其他好文 时间:
2016-04-26 21:39:01
阅读次数:
189
IO模型解析标签 : IO1.1 IO模型概述在服务器端网络编程我们经常会用到一些IO模型,有如下几种IO模型
同步阻塞IO
同步非阻塞IO
IO多路复用
异步IO
信号驱动IO
1.2 IO模型涉及的基本概念。要想好好理解上面的IO模型,我们首先来明确如下几个概念。
1. 同步:当程序发生一次功能调用的时候,需要等待这次调用返回然后才能进行下一步操作。也就是事情要一件一件做。
eg:单线程...
分类:
其他好文 时间:
2016-04-26 19:54:22
阅读次数:
131
**关于I/O多路复用:**
I/O多路复用(又被称为“事件驱动”),首先要理解的是,操作系统为你提供了一个功能,当你的某个socket可读或者可写的时候,它可以给你一个通知。这样当配合非阻塞的socket使用时,只有当系统通知我哪个描述符可读了,我才去执行read操作,可以保证每次read都能读到有效数据而不做纯返回-1和EAGAIN的无用功。写操作类似。操作系统的这个功能通过select/pol...
分类:
系统相关 时间:
2016-04-23 07:35:48
阅读次数:
302
引言BIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。NIO:同步非阻塞式IO,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。下面通过一个例子解释两者区别:假设当前服务...
分类:
编程语言 时间:
2016-04-22 20:22:11
阅读次数:
487
一、select 函数介绍 select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include <sys/time.h> #include <unistd.h> int select(int maxfd,fd_set ...
分类:
系统相关 时间:
2016-04-21 10:18:47
阅读次数:
190
1、为什么要网页查重 ,怎么查重2、软 硬cache是指什么 3、多线程编程:互斥变量 和 条件变量 函数怎么写4、网络编程: epoll干什么的,有什么功能 5、网络编程:select 和 epoll 的区别 6、网络编程:阻塞 非阻塞 区别7、socket 多路复用是干什么的8、客户端 conn ...
分类:
编程语言 时间:
2016-04-19 17:19:41
阅读次数:
370
TCP/IP端口号大全1tcpmuxTCP端口服务多路复用5rje远程作业入口7echoEcho服务9discard用于连接测试的空服务11systat用于列举连接了的端口的系统状态13daytime给请求主机发送日期和时间17qotd给连接了的主机发送每日格言18msp消息发送协议19chargen字符生成服务;发送无止境的字..
分类:
其他好文 时间:
2016-04-19 00:52:17
阅读次数:
326
TCP/IP端口号大全1tcpmuxTCP端口服务多路复用5rje远程作业入口7echoEcho服务9discard用于连接测试的空服务11systat用于列举连接了的端口的系统状态13daytime给请求主机发送日期和时间17qotd给连接了的主机发送每日格言18msp消息发送协议19chargen字符生成服务;发送无止境的字..
分类:
其他好文 时间:
2016-04-17 18:06:00
阅读次数:
233
1.http2.0完全是多路复用的,只需一个连接就可实现并行 可以将不同的请求夹杂在一起,只需一个连接就能加载一个页面。 2.可以让服务器将响应主动推动到客户端缓存中 当浏览器请求一个网页时,服务器除了返回HTML之外,还会推动客户端会用到的资源(比如页面中内嵌的样式文件,脚本文件,图片文件)到客户 ...
分类:
Web程序 时间:
2016-04-17 11:33:40
阅读次数:
247