【发布时间】:2010-04-29 13:00:03
【问题描述】:
首先,让我说,如果长期存在的 TCP 持久连接是可行的方法或持久的 HTTP 连接更好,请随时推荐我。
我还预先阅读过,我可以使用轮询机制来代替持久连接。
我只是好奇地询问如何创建从 Android 到服务器的持久连接?
谢谢!
【问题讨论】:
首先,让我说,如果长期存在的 TCP 持久连接是可行的方法或持久的 HTTP 连接更好,请随时推荐我。
我还预先阅读过,我可以使用轮询机制来代替持久连接。
我只是好奇地询问如何创建从 Android 到服务器的持久连接?
谢谢!
【问题讨论】:
这实际上取决于您的要求是什么以及您是否真的需要持久连接。
如果您有对时间敏感的数据,您需要在数据可用时立即从服务器推送到设备,那么持久 TCP 连接是您的最佳选择。
如果您的服务器和设备只定期交换信息是可以接受的,那么轮询或 HTTP 请求可能是更好的选择。
我个人认为,在处理信息必须始终是最新的持久连接时,使用二进制协议实现良好的长寿命 TCP 连接是更好的选择。
就每个数据包的开销而言,HTTP 连接通常很昂贵,尤其是在您使用基于 XML 的协议(例如 SOAP)时。此外,一直连接和拆除套接字通常非常昂贵。
另一方面,持久 TCP 连接在客户端和服务器端都很难实现。电池寿命是设备端的一个重要因素,如果您希望同时连接的用户不止少数,那么您可能必须在服务器端实现异步通信模型,这会带来一系列挑战。
祝你好运!
【讨论】:
长时间的 TCP 连接在任何移动设备中都是一个坏主意,因为网络非常不稳定。我个人使用带有 HTTP 会话概念的 UDP 或瞬时 HTTP 连接。
【讨论】: