【问题标题】:How can I create a text-message like system with very low latency?如何创建具有极低延迟的类似文本消息的系统?
【发布时间】:2012-09-18 03:26:40
【问题描述】:
我正在使用 PhoneGap 创建一个应用程序,它的行为类似于短信应用程序。我遇到的问题是延迟和数据使用。我试过轮询,但它很慢并且习惯了很多数据,websockets,但 AppFog 不支持它们,我也尝试过其他的,但似乎没有一个工作。如何使用 PhoneGap 应用程序、javascript 和任何类型的后端(当前使用节点,但可以更改)最好地完成类似文本消息的系统?另外,PhoneGap 应用程序如何在后台获取通知?
【问题讨论】:
标签:
javascript
android
ios
node.js
cordova
【解决方案1】:
在 Android 上有一个用于推送通知的 Phonegap 插件(你没有说你的应用程序适用于哪些平台......),我想也有一个适用于 iOS 的。
Socket.io 是一个很棒的库,如果可能,它会使用 websockets,但如果需要,它会回退到 Ajax 长轮询。那应该避免重复轮询的数据使用问题。不过,连接打开几分钟或几小时可能是行不通的。
您可能必须混合使用这两种方法。当用户在应用程序中时,使用 socket.io 在他们实际观看时实现低延迟。当用户不在应用程序中时,您可以承受执行推送通知所需的少量额外延迟,因为他们不会知道该人实际上是在 20 秒前发送了消息。