Socket 多路复用 中的select函数的问题

longfei411 2012-09-17 02:31:59
Int select(int maxfd,fd_set *rdset, fd_set *wrest, fd_set *exset,struct timeval *timeout); 这个函数中 理论上第一个参数 应该比后面三个参数的最大值+1.但是我在一个程序中竟然看到了有第一个参数为0,真心不知道这个参数代表什么意思,0是不是有什么特殊含义
...全文
216 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Geoff08Zhang 2012-09-18
  • 打赏
  • 举报
回复
FreeBSD中这个参数是最大的socket句柄加1,在WinSock中这个参数没用.这里有许多WinSock写的源码,关于select,请参考MsgSndSrv, MsgSndClnt.
来自《WinSock网络编程经络》,源码下载地址:http://download.csdn.net/detail/geoff08zhang/4571358
longfei411 2012-09-18
  • 打赏
  • 举报
回复
这个的确是在window下的
dataxdata 2012-09-17
  • 打赏
  • 举报
回复
是在windows下吗?windows下这个参数是忽略掉的,仅为兼容而设的

nfds [in]
Ignored. The nfds parameter is included only for compatibility with Berkeley sockets.

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧