android - 在 phonegap 应用中实现聊天

标签 android ios cordova websocket chat

我必须做出技术决定,但我不确定。
我必须在 iOS 和 Android 上运行的 Phonegap-App 中实现聊天。

整个应用程序基于 Microsoft Azure-Mobile Service,因此我有足够的服务器能力。

目前我已经确定了三种实现这种聊天的方法:

  • 网络套接字 :应用程序通过 websockets 与后端进行通信,这将在 Node.JS 中完成。每条新消息都通过该套接字推送到服务器,并且用户发送的每条消息都在该 channel 上发回。我的问题是 websockets 的可靠性,特别是当我们考虑到用户四处走动时,是连接到公共(public) WIFI-Hotspot 还是通过 GPRS ......我有一些 websockets 被代理阻止的糟糕经历。
  • cometd /长轮询 :应用发起长轮询请求,服务器不断检查传入的消息,当它们到达时,他立即回复。因为我使用的是 NodeJS,所以这更容易,因为没有线程阻塞。但是这样做对我来说感觉很糟糕,尤其是在 HTML5 的所有这些新可能性中(例如,Websockets,见上文)
  • APNS/GCM : 使用各个平台的 Push Message-Services 将此类信息发送到设备。这意味着,如果用户在后台打开应用程序,那么无论几秒钟都会收到传入消息(尤其是在高频率使用的聊天室中)

  • 你会推荐什么?你曾经在手机Phonegap App中使用过例如websockets吗?

    最佳答案

    我们决定使用 PubNub,因为它们为移动客户端提供了非常好的实现。他们没有使用 Websocket,而是使用电池友好的长轮询。

    关于android - 在 phonegap 应用中实现聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24695564/

    相关文章:

    android - iOS iPhone-录制无需在服务器端进行转码即可在Android上播放的压缩音频文件

    android - Broadcastreceiver 发出的通知在被反压时关闭应用程序

    iphone - 从 iPhone 应用程序中的 URL 识别文件类型

    cordova - Kotlin 用于基于 Cordova/Ionic 的插件

    java - 如何将 Android 应用程序连接到 MySql 数据库

    android - New Relic 无法使用 eclipse 正确加载(Android)

    javascript - 使用复杂的 JavaScript 在 UIWebView 中插入 HTML 的代码片段?

    iOS检测UIButton Press Dynamic索引

    android - Android WebView onPageStarted/onPageFinished 方法详解

    ios - 如何在 IOS 上使用 Phonegap 读取具有群组名称的联系人