Linux 内核网络协议栈 sk_buff 结构体 以及 完全解释 (2.6.16) 又见 “堆排序” select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET ...
分类:
编程语言 时间:
2017-05-18 20:02:03
阅读次数:
161
原生APIselectintselect(intnumfds,fd_set*readfds,fd_set*writefds,fd_set*exceptfds,structtimeval*timeout);函数参数numfds:文件描述符的最大值+1(为了限制检测文件描述符的范围)readfds:包含所有因为状态变为可读而触发select函数返回文件描述符writefds:包含所有因..
分类:
其他好文 时间:
2017-04-18 11:44:52
阅读次数:
247
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeo ...
分类:
其他好文 时间:
2017-04-05 21:42:53
阅读次数:
220
ICMP协议 ICMP(Internet Control Message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方。 ICMP协议是IP层的一个协议,但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所 ...
分类:
编程语言 时间:
2017-01-13 23:56:27
阅读次数:
403
1. http://www.cnblogs.com/scope-beyound/p/3628217.html 2. 其中 TP 即 Thread-Pool 的缩写。与 ACE_WFMO_Reactor 的完全多线程并行处理不同,TP_Reactor 仅实现了部分的并行,这是由于 select 系统调 ...
分类:
其他好文 时间:
2016-12-16 18:51:21
阅读次数:
164
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeo ...
分类:
其他好文 时间:
2016-11-24 14:53:34
阅读次数:
236
Select 系统调用: select 轮询监听多个文件描述符的数组,其原理如下(转自:这里): 从用户空间拷贝fd_set到内核空间;注册回调函数__pollwait;遍历所有fd,对全部指定设备做一次poll(这里的poll是一个文件操作,它有两个参数,一个是文件fd本身,一个是当设备尚未就绪时 ...
分类:
其他好文 时间:
2016-08-27 12:42:46
阅读次数:
229
摘自:www.cctry.com 选择模型selectint select( __in int nfds, 参数nfds会被忽略。之所以仍然要提供这个参数,只是为了保持与Berkeley套接字兼容。 __in_out fd_set* readfds, 用于检查可读性 __in_out fd_set* ...
分类:
其他好文 时间:
2016-08-18 14:14:24
阅读次数:
161
系统提供select函数来实现多路复用输入/输出模型。作用:select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。函数原型:参数说明:intnfds:需要监视的最大文件描述符值+1;fd_set*read..
分类:
其他好文 时间:
2016-08-12 22:11:15
阅读次数:
185
首先,从man手册里找到对select函数的描述,如下: int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 其中: nfds : 指集合中所有文件描 ...
分类:
其他好文 时间:
2016-08-12 21:39:37
阅读次数:
277