gpt4 book ai didi

c++ - 我应该实现自己的 TCP/IP 套接字超时吗?

转载 作者:可可西里 更新时间:2023-11-01 02:31:54 31 4
gpt4 key购买 nike

我正在开发的软件需要能够使用 TCP/IP 在短时间内连接到许多服务器。软件在Win32下运行。如果服务器没有响应,我希望能够快速继续列表中的下一个服务器。

有时当远程服务器没有响应时,我会在大约 20 秒后收到连接超时错误。超时通常来得更快。

我的问题是这 20 秒会影响我的软件的性能,我希望我的软件能早点放弃(比如 5 秒后)。我假设 Windows 中的 TCP/IP 堆栈(?)会根据某些参数自动调整超时?

在我的应用程序中覆盖此超时并在 X 秒内无法连接时关闭套接字是否合理?

(这可能无关紧要,但该应用程序是使用 C++ 构建的,并使用 I/O 完成端口进行异步网络通信)

最佳答案

如果您使用 IO 完成端口和异步操作,为什么在继续列表中的下一个服务器之前需要等待连接完成?使用 ConnectEx并传入重叠结构。这样单个服务器连接时间就不会加起来,总连接时间是最大服务器连接时间而不是总和。

关于c++ - 我应该实现自己的 TCP/IP 套接字超时吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1568419/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com