综合百科

当前位置/ 首页/ 综合大全/综合百科/ 正文

select函数总结(select函数)

导读 SOCKET s;fd_set fdread;int ret;// 在这里省略了建立socket和accept的调用// 这个while循环对建立起来的socket进行IOwhi...

SOCKET s;fd_set fdread;int ret;// 在这里省略了建立socket和accept的调用// 这个while循环对建立起来的socket进行IOwhile(TRUE){ // select之前要清空read set FD_ZERO(&fdread); // 把s加入到read set里 FD_SET(s, &fdread); if ((ret = select(0, &fdread, NULL, NULL, NULL))// 第一个参数总是0,后面分别是read,write和except set// 他们之中的任何一个都可以是0。

最后一个参数是select的超时等待时间 == SOCKET_ERROR) { // 到这里表示出现了错误 } if (ret > 0) {// 到这里如果你只accept了一个socket,那么ret==1,如果你和多个socket进行io。

ret的值将大于1// 现在你要做的就是检查s是否在read set里 if (FD_ISSET(s, &fdread)) // 如果是这样 { // socket s现在处于可读状态,之后你可以调用read来获取s上的信息 } }}。

免责声明:本文由用户上传,如有侵权请联系删除!