我得到了 10 台新 PC,全部(据说)都安装了新的 Windows 7 Pro,并且没有对它们进行任何其他操作。
我有一个程序,用 Delphi XE2 编码,使用 Indy 10 组件进行网络连接。我将 TIdTcpCleint 的“连接超时”和“读取超时”属性设置为 500 毫秒,将“重新使用套接字”设置为“o/s 依赖””(我还尝试了将其设置为“否”的构建)并保留“使用 Nagle” (无论设置为真(我也尝试过假)。
这就是问题所在:当我在这些 PC 上运行相同的 .EXE 并测试我拉网线的情况时,我的调试跟踪显示连接尝试/连接超时发生在同一秒或下一秒(粒度为 1秒) - 但在其他情况下,我看到连接超时之前是 20 或 21 秒。
尽管我看到没有安装任何应用程序,但似乎有些 PC 并不像声称的那样完全“全新安装”。也许有人安装了某些东西然后将其删除,也许他们试图调整性能。
在我在 10 台 PC 上重新安装 Windows 之前,有人可以建议在哪里查看吗?关于 TCP 客户端连接超时,20(或 21)秒是否会响铃?
[更新] 我正在尝试直接连接到特定的 IP 地址,所以我不确定@Nikolai 检查 DNS 的建议是否相关。很抱歉最初没有提到这一点。
[更新] 程序不会尝试保持套接字打开。它连接、发送一些数据和断开连接——对于每条新数据重复。