seclect函数的作用??
FD_SET (sockconntcp, &fds);
select (0, &fds, NULL, NULL, NULL);
FD_SET 函数的作用是什么?
select函数的功能是什么??
请多多指教!!
问题点数:20、回复次数:5Top
1 楼fierygnu(va_list)回复于 2003-12-03 16:21:58 得分 0
man FD_SET和select
简单说:select实现多路复用,FD_SET将sockconntcp加入到fds里。Top
2 楼ekandy(ekandy)回复于 2003-12-03 17:02:52 得分 0
能不能具体说一下???Top
3 楼fierygnu(va_list)回复于 2003-12-03 17:07:27 得分 0
具体说?看《UNIX网络编程》吧。Top
4 楼wolfgeng(sungeng)回复于 2003-12-04 00:03:15 得分 20
select() 它可以帮您检查一整组(set)的 sockets 是否可以读、写资料,也
可以用来检查 socket 是否已和对方连接成功,或者是对方是否已将相对的
socket 关闭了等等。
select():检查一或多个 Sockets 是否处於可读、可写或错误的状态。
格 式: int PASCAL FAR select( int nfds, fd_set FAR *readfds,
fd_set FAR *writefds, fd_set FAR *exceptfds, const struct timeval FAR
*timeout )
参 数: nfds 此参数在此并无作用
readfds 要被检查是否可读的 Sockets
writefds 要被检查是否可写的 Sockets
exceptfds 要被检查是否有错误的 Sockets
timeout 此函式该等待的时间
传回值: 成功 - 符合条件的 Sockets 总数 (若 Timeout 发生,则为 0)
失败 - SOCKET_ERROR (呼叫 WSAGetLastError() 可得知原因)
说明: 使用者可利用此函式来检查 Sockets 是否有资料可被读取,
或是有空间可以写入,或是有错误发生。
另外,同时希望你应该尽量使用 WSAAsyncSelect(),而少用 select() 的方
式,至于为什么找点书看看吧!
Top
5 楼ekandy(ekandy)回复于 2003-12-04 00:14:38 得分 0
多谢!!Top




