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

select 网络,该如何解决

2013-08-04 
select 网络select 之后怎么管理连接上的socket?怎么知道哪个socket对应哪个客户端。我现在是开了一个线程s

select 网络
select 之后怎么管理连接上的socket?怎么知道哪个socket对应哪个客户端。
我现在是开了一个线程select,是不是可以在其他线程往指定socket send数据? select socket 网络
[解决办法]
直接看这的socket例子,就知道怎么用了:
http://download.csdn.net/detail/geoff08zhang/4571358
[解决办法]


select函数只是轮询是否有已经准备好的套接字而已!
每次你一个客户端连上来后,accept函数会返回一个对应客户端连上的套接字的,通过这个套接字和对应的客户端之间进行通信的!
博客系统在升级,等下给你一个链接!


[解决办法]
管理select上的连接可以通过4个宏:
FD_SET(n,p) // 在fd_set中设置一个fd
FD_CLR(n,p) // 在fd_set中清除对应的fd
FD_ISSET(n,p) // 判断fd是否在fd_set集合中
FD_ZERO(p) // 对fd_set置空 
可以开一个数组用来存放描述符,fds[size],
然后,select返回的时候,通过FD_SET(fd_set, fds[i])来判断描述符是否已经就绪.
参考unp p127,也可以参考网上的例子

热点排行