Windows TCP 套接字超时C++
Windows TCP Socket Timeout C++
我有一个问题
如何知道客户端是否在指定时间内没有响应服务器?!
我正在使用线程而不是选择功能。
您的帮助将不胜感激:)
谢谢。
您需要按如下方式研究[设置套接字选项][1]:
setsockopt(sockid, SOL_SOCKET, SO_RCVTIMEO,(char *)&tv,sizeof(struct timeval));
完成此操作后,您可以在调用接收和/或发送函数时检查SOCKET_ERROR
。具体的错误码可以通过调用WSAGetLastError
来获取。
这是这些潜在的错误代码之一:
WSAE 会阻止10035
资源暂时不可用。
此错误是从无法立即完成的非阻塞套接字上的操作返回的,例如,当没有数据排队等待从套接字读取时。这是一个非致命错误,稍后应重试该操作。WSAE 块被报告为在非阻塞SOCK_STREAM套接字上调用连接的结果是正常的,因为必须经过一段时间才能建立连接。
相关文章:
- C++减少modbus_connect超时
- 没有超时的C++条件变量
- 如何在C++(VS2010)中设置超时读取USB端口?
- C++卷曲柱在curl_easy_perform超时
- 如何在Qt 4.8中阻止/忽略/丢弃早于特定超时的用户输入事件
- 如何改进我的代码,使其不会因超时而终止?(黑客排名挑战)
- C++:函数外部的超时功能
- 使用boost::multiprecision cpp_int左移时出现超时错误
- QTimer 超时不会在单元测试中触发
- 使用单体计时器的pthread_cond_timedwait有时会比预期晚超时
- 超时后,线程睡眠不会继续执行
- 接受超时的 TCP 连接
- 为 g++ build 设置超时,为 Sublime Text 运行?
- 如何通过命令行工具在 COIN-OR Cbc 中设置超时?
- 高CPU使用率,在API桌面复制中获取帧之间具有不同的超时间隔
- 0作为std::condition_variable::wait_fo中的超时
- 为什么我在蓝牙连接()上收到"java.io.IOException:读取失败,套接字可能关闭或超时,读取re
- UDP 套接字 select() 在某些情况下无延迟(超时)返回 1
- 使用 alarm() 实现进程超时
- 设置 c/c++ 函数调用的超时