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

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

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

  • Websockets :该应用程序通过websockets与后端进行通信,然后在Node.JS中完成。每个新消息都通过该套接字推送到服务器,并且用户发送的每个消息都通过该通道发送回去。我的问题是websocket的可靠性,尤其是当我们考虑到用户走动时,是那些连接到 public WIFI热点还是通过GPRS连接的……我对websockets被代理阻止有一些不好的经验。
  • cometd /长轮询:应用程序启动长轮询请求,服务器不断检查传入的消息,当它们到达时,他会立即回答。因为我正在使用NodeJS,所以这更容易,因为没有线程阻塞。但是这样做对我来说非常不好,尤其是对于HTML5的所有这些新功能(例如Websocket,请参见上文)
  • APNS / GCM :使用每个平台的推送消息服务将类似的信息发送到设备。这意味着,如果用户在后台打开该应用程序,则无论秒数(尤其是在频繁使用的聊天室中),每隔几秒就会收到一次传入消息

  • 你会推荐什么?您是否曾经在移动Phonegap应用程序中使用过websockets?

    最佳答案

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

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

    10-10 14:09
    查看更多