我继承了试图建立TCP套接字来诊断设备与某些urls的连接性的代码。在某些情况下,TCP套接字将在我们设置的超时阈值之后超时。我的问题是,手动重试套接字连接与只增加超时阈值之间是否有区别?
请记住,这是正在安装和配置的设备上使用的诊断工具,因此它们的网络配置可能在套接字连接的中间发生更改。TCP套接字是用于网络更改(如网关、DNS或本地IP),并在超时之前建立连接(假设网络更改在套接字正常超时之前完成)还是有必要建立新的套接字连接?或者,增加超时与手动重试套接字连接之间没有真正的区别吗?
发布于 2018-04-10 22:02:26
超时可能由于多种原因而发生,但设想下一种情况:
现在,你增加了超时时间--这不会改变情况
如果您有重试-新的数据包将在超时的情况下发送,如果故障是短暂的,那么您将最终建立连接。
结论-超时应该设置为一些合理的,但相当小的值,你应该有多次重试,再次一些合理的数字。
https://stackoverflow.com/questions/49763396
复制相似问题