是否可以在Android上异步接收Http请求?

时间:2011-03-16 16:31:29

标签: android http httprequest

基本上,我有一台服务器和移动应用程序。移动应用程序订阅来自服务器的事件。经过一段时间后,服务器向所有订阅者发布事件(是的,旧的发布/订阅)。

问题是服务器使用HTTP发送通知。所以我需要在我的应用程序中像HTTP服务器那样异步处理这些请求(即没有任何特殊的初始请求)。

有可用的设施吗?我正在考虑创建一个Socket并听取它,但这里出现了从Socket数据转换HTTP的问题。 我已经read some questions around StackOverflow,但没有一个直接指出同样的问题。还是我错过了什么?无论如何,这个帮助非常受欢迎和赞赏。

5 个答案:

答案 0 :(得分:3)

C2D很好......但它还处于测试阶段,您必须接受Google ToS。我自己使用像MQTT这样的东西实现它...它很容易实现,快速并且你可以控制数据:http://tokudu.com/2010/how-to-implement-push-notifications-for-android/

答案 1 :(得分:2)

你应该研究Cloud2Device Messaging。我相信这是GTalk的工作原理。

答案 2 :(得分:0)

通过this answer尝试Android Cloud to Device Messaging Framework推送通知。

我认为您无法接收HTTP请求,甚至您的手机也不会有稳定的IP地址。

答案 3 :(得分:0)

在后台处理连接有两种选择......

AsyncTask和Service。

服务就像接收文本消息(不需要持续轮询),而AsyncTask会不断进行轮询。

我认为使用服务是最好的方式,只要您不关心性能。我认为用户通过服务收到通知时可能会有一些延迟。

AsyncTask肯定会更耗电,但可能会以更及时和可靠的方式执行。

答案 4 :(得分:0)

您可以在Android上使用PUSH通知或开始运行JETTY服务器。

我的应用程序工作方式完全相同,在android上运行JETTY服务器。