0

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

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

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

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

4

1 回答 1

2

你可以测试errnoand sleepif it's ENETUNREACH

于 2012-04-24T13:56:36.553 回答