如何在android上支持HTTP持久连接

如何在android上支持HTTP持久连接,android,http,Android,Http,Im当前正在开发的android应用程序为每一个用户打开了一个新的连接 request/response使用http1.1和async task进行配对,但现在需要更改,以便在服务器发送信息时使用GET方法来支持持久连接,以便像侦听器一样捕获信息 我现在陷入了这样的困境,android上是否有一些很好的参考http持久连接?我会回答你没有问的问题-持久连接是个好主意吗?一般来说,没有——一点也没有。有几个原因。我相信你不是说HTTP(因为它被设计成无状态的),你实际上想要打开一个TCP/IP端口

Im当前正在开发的android应用程序为每一个用户打开了一个新的连接
request/response
使用
http1.1和async task
进行配对,但现在需要更改,以便在服务器发送信息时使用
GET方法来支持持久连接,以便像侦听器一样捕获信息


我现在陷入了这样的困境,android上是否有一些很好的参考http持久连接?

我会回答你没有问的问题-持久连接是个好主意吗?一般来说,没有——一点也没有。有几个原因。我相信你不是说HTTP(因为它被设计成无状态的),你实际上想要打开一个TCP/IP端口

首先,电池耗电。TCP连接是资源密集型的-即使是HTTP连接的创建/断开通常也比开放套接字好

其次,HTTP不需要这样做。您的用例可能不同,但可能不应该使用HTTP。也许是XMPP或其他“长轮询”类型的解决方案

第三,应该提醒您,运营商喜欢频繁更改IP地址。因此,虽然下一个响应可能会鼓励您,但实际测试和使用可能无法满足您的期望

最后,您可以修改请求的“超时”,从而保持连接“打开”,直到服务器响应。从某种意义上说,这就是“长轮询”。您告诉服务器您正在等待响应,但可能需要一段时间(如超时5或10分钟),但同时,运营商会更改您的IP地址或用户移动到另一个塔。。。这是常有的事


如果这些不适用于您,请更具体地说明您的用例或场景。

我认为您需要使用Socket。谢谢Jim,我能知道android上长轮询的更多细节吗?