设为首页 加入收藏

TOP

套接口库函数参考(四十四)
2010-12-30 21:03:01 来源: 作者: 【 】 浏览:58528
Tags:接口 函数 参考
并未指出这个保证在多长时间内有效,特别是在多线程环境中〕。

  exceptfds参数标识等待带外数据存在性或意味错误条件检查的套接口。请注意如果设置了SO_OOBINLINE选项为假FALSE,则只能用这种方法来检查带外数据的存在与否。对于SO_STREAM类型套接口,远端造成的连接中止和KEEPALIVE错误都将被作为意味出错。如果套接口正在进行连接connect()(非阻塞方式),则连接试图的失败将会表现在exceptfds参数中。

  如果对readfdswritefdsexceptfds中任一个组类不感兴趣,可将它置为空NULL

  winsock.h头文件中共定义了四个宏来操作描述字集。FD_SETSIZE变量用于确定一个集合中最多有多少描述字(FD_SETSIZE缺省值为64,可在包含winsock.h前用#define FD_SETSIZE来改变该值)。对于内部表示,fd_set被表示成一个套接口的队列,最后一个有效元素的后续元素为INVAL_SOCKET。宏为:

  FD_CLR(s,*set):从集合set中删除描述字s

  FD_ISSET(s,*set):若s为集合中一员,非零;否则为零。

  FD_SET(s,*set):向集合添加描述字s

  FD_ZERO(*set):将set初始化为空集NULL

  timeout参数控制select()完成的时间。若timeout参数为空指针,则select()将一直阻塞到有一个描述字满足条件。否则的话,timeout指向一个timeva l结构,其中指定了select()调用在返回前等待多长时间。如果timeva l{0,0},则select()立即返回,这可用于探询所选套接口的状态。如果处于这种状态,则select()调用可认为是非阻塞的,且一切适用于非阻塞调用的假设都适用于它。举例来说,阻塞钩子函数不应被调用,且WINDOWS套接口实现不应yield

 

返回值:

  select()调用返回处于就绪状态并且已经包含在fd_set结构中的描述字总数;如果超时则返回0;否则的话,返回SOCKET_ERROR错误

首页 上一页 41 42 43 44 45 46 47 下一页 尾页 44/129/129
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇网络基础知识讲座之一:理解IPv4.. 下一篇Windows Sockets 2扩展库函数简要..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: