当前位置: 技术问答>linux和unix
关于select的设置问题
来源: 互联网 发布时间:2016-10-28
本文导语: int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 函数的最后一个参数timeout显然是一个超时时间值,其类型是struct timeval *,即一个struct timeval结构的变量的指针,所以我们...
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
函数的最后一个参数timeout显然是一个超时时间值,其类型是struct timeval *,即一个struct timeval结构的变量的指针,所以我们在程序里要申明一个struct timeval tv;然后把变量tv的地址&tv传递给select函数。struct timeval结构如下struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* microseconds */
};
我现在就是不太理解这边的 timeout是什么意思??有什么作用!能不能举个例子!!
函数的最后一个参数timeout显然是一个超时时间值,其类型是struct timeval *,即一个struct timeval结构的变量的指针,所以我们在程序里要申明一个struct timeval tv;然后把变量tv的地址&tv传递给select函数。struct timeval结构如下struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* microseconds */
};
我现在就是不太理解这边的 timeout是什么意思??有什么作用!能不能举个例子!!
|
举个例子 比如你在等待一群人
如果采用第一钟方法就是说你一直等呀等 没人出现就不离开
采取第二钟 就是说你只是去看了一眼 一看没有就立马走了
最后一种就是说 比如你暗自决定只等十分钟 如果你等了10分钟都没有人出现 那么你就离开 如果第4分钟有人出现 那么你打趣的跟他说 就剩6分钟我就要走咯 这个6分钟就是作为返回时的timeout值
如果采用第一钟方法就是说你一直等呀等 没人出现就不离开
采取第二钟 就是说你只是去看了一眼 一看没有就立马走了
最后一种就是说 比如你暗自决定只等十分钟 如果你等了10分钟都没有人出现 那么你就离开 如果第4分钟有人出现 那么你打趣的跟他说 就剩6分钟我就要走咯 这个6分钟就是作为返回时的timeout值