Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于C++中的套接字连接超时_C++_Sockets_Unix - Fatal编程技术网

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

关于C++中的套接字连接超时,c++,sockets,unix,C++,Sockets,Unix,我一直在努力为一个套接字设置15秒的超时,以避免它被阻塞。所以我将其配置为非阻塞,然后使用选择功能,工作正常。。。当计算机连接到网络时 如果计算机与网络断开连接,例如,如果Wi-Fi信号关闭,或者如果您拔下以太网插头,当我调用connect函数时,它会返回中间值,即网络无法访问错误 由于我有一个循环,如果发生类似的情况,它会重新连接,它会尝试连接很多次,所以我得到了千兆字节的日志文件 所以,我想要的是设置一些超时。实际上这不是超时,但我希望它等待15秒,直到它尝试再次连接,以避免此问题。我错了,

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

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

由于我有一个循环,如果发生类似的情况,它会重新连接,它会尝试连接很多次,所以我得到了千兆字节的日志文件


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

你可以测试错误,如果它不正确就睡觉。

睡15秒怎么样?哦,伙计。。。这个答案让我觉得自己很愚蠢。我想这是真的,谢谢!它是POSIX.1-2001的一部分,可能也是旧标准的一部分。您可以将select的超时参数设置为15秒!?