【问题标题】:How do I create persistent socket connection on Android?如何在 Android 上创建持久套接字连接?
【发布时间】:2010-04-29 13:00:03
【问题描述】:

首先,让我说,如果长期存在的 TCP 持久连接是可行的方法或持久的 HTTP 连接更好,请随时推荐我。

我还预先阅读过,我可以使用轮询机制来代替持久连接。

我只是好奇地询问如何创建从 Android 到服务器的持久连接?

谢谢!

【问题讨论】:

    标签: java android


    【解决方案1】:

    这实际上取决于您的要求是什么以及您是否真的需要持久连接。

    如果您有对时间敏感的数据,您需要在数据可用时立即从服务器推送到设备,那么持久 TCP 连接是您的最佳选择。

    如果您的服务器和设备只定期交换信息是可以接受的,那么轮询或 HTTP 请求可能是更好的选择。

    我个人认为,在处理信息必须始终是最新的持久连接时,使用二进制协议实现良好的长寿命 TCP 连接是更好的选择。

    就每个数据包的开销而言,HTTP 连接通常很昂贵,尤其是在您使用基于 XML 的协议(例如 SOAP)时。此外,一直连接和拆除套接字通常非常昂贵。

    另一方面,持久 TCP 连接在客户端和服务器端都很难实现。电池寿命是设备端的一个重要因素,如果您希望同时连接的用户不止少数,那么您可能必须在服务器端实现异步通信模型,这会带来一系列挑战。

    祝你好运!

    【讨论】:

      【解决方案2】:

      长时间的 TCP 连接在任何移动设备中都是一个坏主意,因为网络非常不稳定。我个人使用带有 HTTP 会话概念的 UDP 或瞬时 HTTP 连接。

      【讨论】:

      • 什么是瞬时 HTTP 连接?通过 HTTP 会话概念,您的意思只是简单的会话存储,我们在其中存储令牌并在客户端和服务器之间来回传递它?
      • 瞬态。我的意思是根据需要连接然后断开连接。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 2010-12-01
      • 2010-09-07
      • 1970-01-01
      相关资源
      最近更新 更多