繁体   English   中英

关于C ++中的套接字连接超时(UNIX)

[英]About socket connection timeout in C++ (UNIX)

我一直在努力将一个15秒的超时时间放到套接字上以避免被阻塞。 所以我把它配置为非阻塞,然后使用选择功能,并且工作正常......当计算机连接到网络时!

如果计算机与网络断开连接(例如,如果关闭Wi-Fi信号,或者您移动了以太网插头),当我调用连接功能时,它会立即返回“网络无法访问”错误。

因为我有一个循环来重新连接它,如果这样的事情发生,它试图连接多次,所以我得到千兆字节的日志文件。

所以,我想要的是为它设置某种超时。 它实际上不是超时,但我希望它等待15秒,直到它再次尝试连接以避免此问题。 当我认为我在第1段中解释的设置超时时,我错了。 那怎么能这样做呢?

如果它是ENETUNREACH你可以测试errnosleep

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM