使用阻止winsockets时,是否可以将超时设置为接受功能?就像我们可以通过setsockopt来回收和发送函数一样?
似乎不可能,但我想确保。
答案 0 :(得分:7)
选择功能可以在超时时使用。虽然,select最常用于非阻塞套接字,但我没有读过阻止传递阻塞套接字来选择的东西。如果select函数超时,那么你的行为等同于accept timeout。
来自MSDN
“参数readfds标识要检查的套接字的可读性。如果套接字当前处于监听状态,如果收到传入的连接请求,它将被标记为可读 accept保证无阻塞地完成。对于其他套接字,可读性意味着排队数据可供读取,以确保对recv,WSARecv,WSARecvFrom或recvfrom的调用不会阻止。“
这应该会给你你期望的行为。