在phonegap应用程序中实现聊天

时间:2014-07-11 10:26:39

标签: android ios cordova websocket chat

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

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

目前我已经确定了实现此类聊天的三种方式:

  • Websockets :应用程序通过websockets与后端进行通信,后端将在Node.JS中完成。每个新消息都通过该套接字推送到服务器,用户发送的每条消息都在该通道上发回。我的问题是websockets的可靠性,特别是当我们考虑到用户四处走动,是连接到公共WIFI-Hotspot还是通过GPRS时...我遇到了一些使用代理阻止的websockets的不良体验。
  • Comet / Long Polling :应用启动长轮询请求,服务器会不断检查收到的消息,当他们到达时,他会立即回复。因为我使用NodeJS这更容易,因为没有线程阻塞。但是我觉得这样做非常糟糕,尤其是HTML5的所有新功能(例如Websockets,见上文)
  • APNS / GCM :使用每个平台的Push Message-Services将类似信息发送到设备。这意味着,如果用户在后台打开应用程序,则每个秒都会收到传入消息(特别是在经常使用的聊天室中)

你会推荐什么?您是否曾在移动电话空闲应用程序中使用过例如websockets?

1 个答案:

答案 0 :(得分:0)

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