社区
网络编程
帖子详情
fd_set可以加64个?
zhiweiyouzhi
2011-08-28 08:09:03
那么select是否就是说可以监视64*3个套接字么?
...全文
188
18
打赏
收藏
fd_set可以加64个?
那么select是否就是说可以监视64*3个套接字么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xengine-qyt
2011-08-31
打赏
举报
回复
select windows 中 默认支持64个,要看你咋编程,fd_set 里面规定值有64,你是不能超过的!你用轮循的方式就没这个限制了
chenjiawei007
2011-08-31
打赏
举报
回复
可以达到这点数量的并发,但是fd_set是去检测数组中的情况,这样设计导致效率上有些缺点,这也是select的缺点,当然并发量不超过1000的,select还是好用,开辟太大的数组,副作用还是有的。
CCliveHunter
2011-08-31
打赏
举报
回复
对的,fd_set最多可加64个,但是这个64是个宏定义的,你可以通过修改宏定义来修改这个最大值
96掌门师兄
2011-08-31
打赏
举报
回复
顶起来
hurryboylqs
2011-08-30
打赏
举报
回复
要想做高并发 尽量用iocp或者epoll之类的网络编程模型
一般的情况 select是不成什么大问题的
saiyaman5
2011-08-30
打赏
举报
回复
[Quote=引用 10 楼 hurryboylqs 的回复:]
在include <WSock2.h>
之前定义下宏:
#define FD_SETSIZE 8096
include <WSock2.h>
[/Quote]
这样做会不会有什么副作用?
金金2019
2011-08-30
打赏
举报
回复
[Quote=引用 10 楼 hurryboylqs 的回复:]
在include <WSock2.h>
之前定义下宏:
#define FD_SETSIZE 8096
include <WSock2.h>
[/Quote]
哈哈 不错
zuiyuezhou888
2011-08-29
打赏
举报
回复
select时可以64个64个的进行判断,所以就达到无限个
hurryboylqs
2011-08-29
打赏
举报
回复
在include <WSock2.h>
之前定义下宏:
#define FD_SETSIZE 8096
include <WSock2.h>
mayudong1
2011-08-29
打赏
举报
回复
在包含头文件之前先定义一下FD_SETSIZE的大小就可以了
zhiweiyouzhi
2011-08-29
打赏
举报
回复
[Quote=引用 6 楼 hurryboylqs 的回复:]
8000个都可以,测试过
[/Quote]
????????????????????????????
真的假的?FD_set集合微软不是定义了最大只有64的么????
saiyaman5
2011-08-29
打赏
举报
回复
我也想了解下select模型如何做扩展
hurryboylqs
2011-08-29
打赏
举报
回复
8000个都可以,测试过
l460602540
2011-08-28
打赏
举报
回复
不太清楚,但帮忙顶一个。。
zhiweiyouzhishenghuo
2011-08-28
打赏
举报
回复
[Quote=引用 1 楼 visualeleven 的回复:]
int select(
__in int nfds,
__inout fd_set* readfds,
__inout fd_set* writefds,
__inout fd_set* exceptfds,
__in const struct timeval* timeout
);
它由三个集合,可读,可写和异常~
[/Quote]
应该是的吧,下次希望正面回答!!!!!!!!!
zhiweiyouzhishenghuo
2011-08-28
打赏
举报
回复
[Quote=引用 2 楼 lijianli9 的回复:]
可以,到一个头文件中修改那个宏定义的大小就可以了。
[/Quote]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
lijianli9
2011-08-28
打赏
举报
回复
可以,到一个头文件中修改那个宏定义的大小就可以了。
Eleven
2011-08-28
打赏
举报
回复
int select(
__in int nfds,
__inout fd_set* readfds,
__inout fd_set* writefds,
__inout fd_set* exceptfds,
__in const struct timeval* timeout
);
它由三个集合,可读,可写和异常~
windows网络编程之tcp/ip
适用人群 windows网络编程的初学者 课程概述 课程...重叠i/o模型的讲解以及代码实现 第六章 完成端口模型的讲解以及代码实现 第七章 tcp/ip基础知识的讲解,包括网络分层,三次握手,四次挥手,协议头等等。
Linux C语言中对文件描述符的操作宏(
FD
_ZERO、
FD
_
SET
、
FD
_CLR、
FD
_IS
SET
)
fd
_
set
结构体、select()函数简介
“
FD
”即为file descriptor
fd
_
set
结构体:可以理解为一个集合,这个集合中存放的是文件描述符(file descriptor),即文件句柄。
FD
_ZERO 用法:
FD
_ZERO(
fd
_
set
*); 用来清空
fd
_
set
集合,即让
fd
_
set
集合不再包含任何文件句柄。
FD
_
SET
用法:
FD
_
SET
(int ,
fd
_
set
*); 用来将一个给定的文件描述符
加
入集合之中
FD
_CLR 用法:
FD
_CLR(int ,
fd
_
set
*); 用来将一个给定的文件描述符从集合中删除
FD
_I
c语言
FD
_
SET
头文件,select()函数以及
FD
_ZERO、
FD
_
SET
、
FD
_CLR、
FD
_IS
SET
―――――――――――――――――――――――――――――――――――――――2、select函数的接口比较简单:int select(int n
fd
s,
fd
_
set
*read
set
,
fd
_
set
*write
set
,
fd
_
set
* except
set
, struct tim *timeout);功能:测试指定的
fd
可读?可写?有异常条件待处理?参数:n
fd
s需要检查的文件描述字个数(即检查...
27、
fd
_
set
与
FD
_
SET
SIZE详解
select()机制中提供一种
fd
_
set
的数据结构,它实际上是long类型的数组,每一个数组元素都能与一打开的文件句柄(不管是socket句柄,还是其他文件或命名管道或设备句柄)建立联系,建立联系的工作由程序员完成,当调用select()时,由内核根据IO状态修改
fd
_
set
的内容,由此来通知执行了select()的进程哪一socket或文件发生了可读或可写事件。
fd
_
set
结构体原型: ...
linux下
fd
_
set
用法,
fd
_
set
用法 socket
select()函数主要是建立在
fd
_
set
类型的基础上的。
fd
_
set
(它比较重要所以先介绍一下)是一组文件描述字(
fd
)的集合,它用一位来表示一个
fd
(下面会仔细介绍),对于
fd
_
set
类型通过下面四个宏来操作:
fd
_
set
set
;
FD
_ZERO(&
set
); /* 将
set
清零使集合中不含任何
fd
*/
FD
_
SET
(
fd
, &
set
); /* 将
fd
加
入se...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章