winsock - recv -网络连接问题
winsock - recv - Network Connection Issue
在我的c++应用程序中,我在循环中使用recv
函数。我想通过从recv函数中获得负值来识别网络连接问题。
我在测试中可以看到的一件事是,当我离开网线时,我可以等待~分钟,直到我可以看到我的应用程序得到这个负值。
你知道c++代码知道网络连接问题发生的持续时间是多少吗?这次我能行吗?
在仅tcp级别上没有相同的方法。这个选项的目的是SO_KEEPALIVE
,但它是相当无用的。
实现应用程序级心跳,并在指定时间内没有接收到数据或心跳时标记套接字已断开(这几乎假设非阻塞模式,或至少是带超时的select(2)
循环)。
这与c++代码无关。它与您正在使用的特定网络协议有关。假设它是TCP,它基本上是永久的。一个空闲的TCP连接没有与它相关联的数据包,并且可能永远不会检测到连接丢失。
如果要检测特定接口的丢失,请使用平台的接口状态监视功能。
相关文章:
- 到连接组件算法的问题(递归)
- 使用 bfs 解决连接组件问题时得到错误的答案
- CMake 错误"源似乎不包含 CMakeLists.txt",路径/库连接问题
- 连接 MATLAB 和 Visual Studios 的问题
- Cesanta Mongoose - 连接到本地主机时出现问题
- 通过 COM 对象连接 x64 应用程序时出现问题
- Qt的新信号/时隙语法问题 - 连接到一个简单的函数
- 无线局域网连接问题
- C++ Qt SQL lite 数据库连接问题
- 在 Windows 问题上连接到企业 WiFi
- 我的字符串类的 += 运算符有问题,它没有正确连接字符串
- 与Mingw(V.4.3.0)和Libhid连接的问题
- 尝试创建表面网格,但遇到连接问题
- Qt - 在课堂上连接 - 出了点问题 - 这个
- 连接GLUT和QGLViewer的问题
- 从使用 emscripten 编译的 c++ 连接 websocket 时出现问题
- 闲置期后的redis pubsub连接问题
- 使用WebSocketpp启用了Websocketpp接受连接的问题
- 在Visual Studio 2017中连接NLOPT-2.4.2的问题
- QT中的TCP连接性能低问题