首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

select函数使用有关问题。

2012-06-15 
select函数使用问题。。。Phoenix_静心(540552452)15:40:40s1sockets2socketbinds1binds2listens1listens2f

select函数使用问题。。。
Phoenix_静心(540552452) 15:40:40
s1 = socket 
s2 = socket 
bind s1 
bind s2 
listen s1 
listen s2 

fd_set fd, tmp 

FD_ZERO(&fd) 
FD_SET(s1, fd); 
FD_SET(s2, fd);3

select监听两个端口,如何区分变化的是s1还是s2?

[解决办法]


int select(int nfds, fd_set *restrict readfds,
fd_set *restrict writefds, fd_set *restrict errorfds,
struct timeval *restrict timeout);

如果 select 成功返回,readfds 里面肯定存储了对应的 socket(有变化的,看你的需求,一般是有新连接) ,

 int FD_ISSET(int fd, fd_set *fdset);
用 FD_ISSET 把 s1,s2 分别送到readfds 里面去判断就好了。

FD_ISSET(s1,readfds);
FD_ISSET(s2,readfds);

热点排行