1

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

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

在这种方法中我可能会面临哪些问题?我知道这会不断打开从设备到服务器的 HTTP 连接。仅仅通过持续打开服务器连接,移动设备的电池寿命会很快耗尽吗?...毕竟数据没有被传输,只是保持连接打开......对吗?

4

3 回答 3

1

您可能需要考虑Urban Airship或查看此实时技术指南

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

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

于 2011-08-19T09:11:14.097 回答
0

如果您的应用程序在网络状况不佳的国家/地区运行,那么让所有客户端保持连接打开可能会给他们的基础设施带来压力(假设您很受欢迎)。

电池寿命是另一个考虑因素,是的,很多设备在保持空闲无线电/3g 连接打开方面效率不高,而且它比不打开连接消耗电池的速度要快得多。

于 2011-09-26T20:15:42.967 回答
0

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

对于电池寿命,这真的取决于你在keepalives之间做什么......

于 2011-08-18T12:38:42.670 回答