【问题标题】:What's the timeout value for a TCP connection in Android?Android中TCP连接的超时值是多少?
【发布时间】:2012-01-21 09:13:33
【问题描述】:

我在 Android 应用和 Web 服务器之间建立了 TCP 连接。如果我在一小时内没有发送任何数据包,那么我将无法再使用此连接发送/接收数据。我必须发送一些心跳数据包吗?如果我不通过此连接发送任何数据,Android 中 TCP 连接的超时值是多少?

Android 版本为 2.2。我使用 HTTP 长轮询来访问服务器。

【问题讨论】:

  • 您是实际建立 TCP 连接,还是发出 HTTP 请求?它们并不是一回事。如果你能展示你的代码,那会有所帮助。
  • 目前我正在发出 HTTP 请求。如果我建立 TCP 连接有什么区别?

标签: android http tcp long-polling


【解决方案1】:

假设您实际上只是发出一个 HTTP 请求,我强烈建议您不要试图让它无限期地保持活动状态。即使您的客户端代码和服务器都乐于这样做,您也可能会发现有各种代理可能希望在此之前终止连接。 (诚​​然,我希望客户端会看到请求失败。)

根据我上次研究长轮询的记忆,大约 8 分钟是长轮询请求的合理超时。您仍然只能每小时发出 8 个请求,因此不会有大量流量 - 我强烈怀疑它会更加可靠。

【讨论】:

  • 你的建议真的很有帮助。我也觉得一小时可能很长。我抓到了一些安卓应用的包,典型的轮询时间是3~5分钟。
猜你喜欢
  • 2015-07-13
  • 1970-01-01
  • 2018-05-24
  • 1970-01-01
  • 2012-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多