我可以将 TCP 超时设置为 10 至 20 分钟吗?

我可以将 TCP 超时设置为 10 至 20 分钟吗?

即使在移动客户端的情况下,当标准设置的 TCP 放弃并关闭连接时,它可能会长时间消失在隧道中,因此依赖 TCP 保证交付非常重要。 是否有可能让 TCP 实现持续尝试长达 10-20 分钟? 在 Linux 和手机(Android 和 iOS)上应该进行哪些设置? 谢谢。

答案1

man tcp- 查找 Linux 机器的 tcp_retries[1,2]。我不知道 Android 上该怎么做,考虑到 Apple 对系统级调整的态度,在 iOS 上可能绝对没有办法做到这一点,除非你越狱

抛开 TCP 套接字超时不谈,大多数应用程序都会实现自己的超时,这些超时可能比传输层的超时要短得多。这是否可配置显然取决于相关应用程序 - 没有系统范围的参数。

答案2

这是不可能的。解决这个问题的方法是在 TCP 层之上添加一个层,以提供您需要的语义。该层必须为每条消息添加一个标识符,实现消息确认,如果 TCP 连接断开则重新建立连接,并重新发送所有未确认的消息。

相关内容