天天看点

windows select最多能监视多少个句柄

[code=C/C++]我在windows下使用select步骤如下

while(1)

{

   FD_ZERO(&fds);

   for(i = 0; i <= 64; i++)

   {

        fd_set(sock[i], &fds);  //sock[i]都已成功创建,并且都可以收到数据。

   }

   ret = select(NULL, &fds, NULL, NULL, tv);

   if(ret < 0)

        exit(0);

   else if(ret == 0)

        continue;

   for(i = 0; i <= 64; i++)

   {

        if(FD_ISSET(sock[i], &fds))

        {

              //do something

        }

    }

}

我能肯定sock[64]收到了数据因为我用抓包工具看到的,但是上面的程序探查不出!

如果我将其中一个句柄例如sock[3]移除fds此时就能探查到sock[64]的数据!

最终我得出的结论是select最多只能监视63个句柄,超过这之后的就无法探查!这是什么原因,有人遇到过类似情况吗?

偷偷告诉你一个南京不用上班就能轻松赚钱的办法 广告 易神 · 燨燚

问题点数:20分

windows select最多能监视多少个句柄

CSDN推荐

CSDN今日推荐

  • ⋅ 句柄监控
  • ⋅ 用linux命令和程序实际测试一下单进程能打开的最大的句柄数(也可以说是文件数)------并不一定是1024/2048哈
  • ⋅ Windows操作系统单文件夹下到底能存放多少文件及单文件的最大容量
  • ⋅ [转]WINDOWS下一个文件夹最多可以放多少个文件--终于找到答案了
  • ⋅ WINDOWS下一个文件夹最多可以放多少个文件--终于找到答案了
  • ⋅ 系统监控之文件句柄监控
  • ⋅ oracle 中IN命令
  • ⋅ window一个文件夹中最多可以存储多少个文件
  • ⋅ select句柄数限制 及总结
  • ⋅ 一个进程最多能包含多少线程
windows select最多能监视多少个句柄

zhanshen2891

windows select最多能监视多少个句柄

0 2011-10-20 11:27:49

引用 ・ 举报 ・ #1 得分:1

我记得是1024

windows select最多能监视多少个句柄

lanneret1234

windows select最多能监视多少个句柄

0 2011-10-20 11:36:04

引用 ・ 举报 ・ #2 得分:18

C/C++ code?

1

2

3

#ifndef FD_SETSIZE

#define FD_SETSIZE      64

#endif 

在WinSock2.h

试一下改一下FD_SETSIZE的值

windows select最多能监视多少个句柄

woailp___2005

windows select最多能监视多少个句柄

0 2011-10-20 11:38:56

引用 ・ 举报 ・ #3 得分:1

引用 1 楼 zhanshen2891 的回复:

我记得是1024

应该是这个0.0

windows select最多能监视多少个句柄

lisong871121

windows select最多能监视多少个句柄

0 2011-10-20 12:17:01

引用 ・ 举报 ・ #4 得分:0

引用 2 楼 lanneret1234 的回复:

C/C++ code

#ifndef FD_SETSIZE

#define FD_SETSIZE      64

#endif 

在WinSock2.h

试一下改一下FD_SETSIZE的值

按照你说的方法我将那个宏改大后问题解决了!!!

继续阅读