java - 如何在 Android 上创建持久套接字连接?

标签 java android

首先,让我说,如果长生命周期的 TCP 持久连接是可行的方式,或者持久的 HTTP 连接更好,请随时推荐我。

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

出于好奇,我只是想问一下如何创建从 Android 到服务器的持久连接?<​​/p>

谢谢!

最佳答案

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

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

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

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

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

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

祝你好运!

关于java - 如何在 Android 上创建持久套接字连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2737456/

相关文章:

java - 使用哨兵控制循环不断请求 double 值的程序

java - 对可变对象的 AtomicReference 和可见性

java - 我如何在 Tomcat Servlet 中打印一些东西, hibernate 3 秒然后转发到另一个 servlet?

java - 将 JSON Base64 字符串转换为 Java 中的 String

java - 覆盖错误android studio

启用 Jacoco 时,具有默认方法的 Java 8 接口(interface)不起作用

java - 在 C++ 和 Java 中只有一个返回值的原因是什么?

android - 在 Volley 中获取 json 响应

java - 正则表达式:如果 3 个符号 +-* 相互跟随则返回 false

Android,为什么要使用 Button View ,因为每个 View 都可以有一个 onclicklistener