读书人

select 网络,该如何解决

发布时间: 2013-08-04 18:26:16 作者: rapoo

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,也可以参考网上的例子

读书人网 >C++

热点推荐