是否可以设置超时时间accept使用阻塞winsockets时的函数?就像我们可以通过setsockopt 来接收和发送函数一样?
似乎不可能,但我想确保。
选择功能可以与超时一起使用。虽然 select 最常与非阻塞套接字一起使用,但我还没有读到任何阻止将阻塞套接字传递给 select 的内容。如果 select 函数超时,则您的行为相当于接受超时。
From MSDN http://msdn.microsoft.com/en-us/library/windows/desktop/ms740141%28v=vs.85%29.aspx
“参数 readfds 标识要检查可读性的套接字。如果套接字当前处于侦听状态,并且已收到传入连接请求,则它将被标记为可读,以便保证接受不会阻塞地完成。对于其他套接字,可读性意味着排队数据可供读取,这样就保证了对 recv、WSARecv、WSARecvFrom 或 recvfrom 的调用不会阻塞。”
这应该会给你你所期望的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)