使用HTTP推送移动设备/应用程序可能存在哪些问题?

时间:2011-08-18 09:39:26

标签: http mobile push-notification server-push mqtt

我必须为某些移动设备制定推送通知计划,其中推送尚未得到C2DM / APNS / BES等正式支持。 MQTT也是一个不错的选择,但我无法获得所需平台的MQTT客户端。 (Blackberry Playbook,仅限ActionScript)

回到基础,我有长轮询和流媒体选项。使用高保持值的流对我来说似乎很好,因为移动应用程序(它不是浏览器)的开发和服务器代码都在我的控制之下。为了保持连接打开,我只需要偶尔ping服务器。

这种方法可能会遇到什么问题?据我所知,这将不断打开从设备到服务器的HTTP连接。通过持续打开服务器连接,移动设备的电池寿命会快速耗尽吗? ......毕竟数据没有被传输,只是保持连接打开......对吗?

3 个答案:

答案 0 :(得分:1)

您可能需要考虑Urban Airship或查看此realtime technologies guide

如果实时真的很重要,我说的是秒或毫秒,那么使用WebSocketsHTTP Streaming的实时网络技术是您的最佳选择,因为它们会在可用的瞬间提供更新。这种事情最适合用户在需要即时通知或与他人协作/聊天的合理时间段内积极使用的应用程序。

WebSockets可能是一个更好的标准,可以考虑长期技术考虑因素,因为它们是客户端(移动,Web,桌面)和服务器之间全双工双向通信的第一个标准。

答案 1 :(得分:0)

您在哪个平台上找不到MQTT客户端? http://mqtt.org/software列出了我能想到的几乎所有语言的客户,而且比我想要使用的更多。 mosquitto C客户端库非常可移植。

对于电池续航时间,这实际上取决于你在Keepalive之间做了什么......

答案 2 :(得分:0)

如果您的应用在网络状况不佳的国家/地区运行,那么让所有客户端保持连接打开可能会对其基础架构造成压力(假设您 受欢迎)

电池寿命是另一个考虑因素,是的,许多设备在保持闲置无线电/ 3g连接打开方面效率不高,并且比没有打开连接更快地耗尽电池。