Winsock接受超时

时间:2012-03-13 11:45:49

标签: c windows sockets winsock

使用阻止winsockets时,是否可以将超时设置为接受功能?就像我们可以通过setsockopt来回收和发送函数一样?

似乎不可能,但我想确保。

1 个答案:

答案 0 :(得分:7)

选择功能可以在超时时使用。虽然,select最常用于非阻塞套接字,但我没有读过阻止传递阻塞套接字来选择的东西。如果select函数超时,那么你的行为等同于accept timeout。

来自MSDN

“参数readfds标识要检查的套接字的可读性。如果套接字当前处于监听状态,如果收到传入的连接请求,它将被标记为可读 accept保证无阻塞地完成。对于其他套接字,可读性意味着排队数据可供读取,以确保对recv,WSARecv,WSARecvFrom或recvfrom的调用不会阻止。“

这应该会给你你期望的行为。