I have a question
How to know if a client didn't respond to the server during a specified time ?!
I am using threading not select function.
your help will be greatly appreciated :)
Thank you.
I have a question
How to know if a client didn't respond to the server during a specified time ?!
I am using threading not select function.
your help will be greatly appreciated :)
Thank you.
您需要查看 [设置套接字选项][1],如下所示:
setsockopt(sockid, SOL_SOCKET, SO_RCVTIMEO,(char *)&tv,sizeof(struct timeval));
完成后,您可以SOCKET_ERROR
在调用接收和/或发送函数时再次检查。具体的错误码可以通过调用获取WSAGetLastError
。
这是那些潜在的错误代码之一:
WSAEWOULDBLOCK 10035
资源暂时不可用。
此错误是从无法立即完成的非阻塞套接字上的操作返回的,例如当没有数据排队等待从套接字读取时的 recv。这是一个非致命错误,应稍后重试该操作。WSAEWOULDBLOCK 报告为在非阻塞 SOCK_STREAM 套接字上调用 connect 的结果是正常的,因为必须经过一段时间才能建立连接。