如何在Android上创建持久化的Socket连接?

4

首先,让我说一下,如果长期TCP持久连接是可行的,或者持久HTTP连接更好,请随时向我推荐。

我已经预读过,除了使用持久连接之外,我还可以使用轮询机制。

我只是出于好奇想知道如何从Android到服务器创建一个持久连接?

谢谢!

2个回答

3
这真的取决于您的要求,以及您是否实际需要持久连接。
如果您有时间敏感的数据需要在服务器上可用时立即推送到设备,则保持TCP连接是最好的选择。
如果您可以接受服务器和设备仅定期交换信息,则轮询或HTTP请求可能是更好的选择。
个人认为,使用二进制协议的长期TCP连接实现良好时,在处理必须始终保持最新的持久连接时,这是更优秀的选择。
HTTP连接通常在每个数据包的开销方面比较昂贵,特别是如果您使用基于XML的协议(例如SOAP)时。此外,频繁连接和拆除套接字通常非常昂贵。
另一方面,持久TCP连接在客户端和服务器端都很难实现。设备端的电池寿命是一个巨大的因素,如果您希望连接的用户不止一小部分,则可能必须在服务器端实现异步通信模型,这会带来自己的一系列挑战。
祝你好运!

2

在移动设备上,长时间的TCP连接是一个不好的想法,因为网络信号不稳定。个人建议使用UDP或短暂的HTTP连接,并采用HTTP会话的概念。


2
什么是短暂的HTTP连接?通过HTTP会话的概念,您指的是仅简单存储会话,在客户端和服务器之间传递令牌的方式吗? - Tereno
通过瞬时连接,我指的是根据需要连接,然后断开连接。 - sylvanaar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接