我最近开始在我的iOS应用程序中使用PubNub,我对它非常满意。但是,我一直在寻找其他可用的选项,例如使用Websockets的Pusher和Realtime.co。另一方面,PubNub使用长轮询。我做了自己的小速度比较,为了我的目的,我发现它们都足够快。
PubNub提供了一些不错的功能,例如消息历史记录和频道中每个人的列表,因此禁止我倾向于他们的所有其他内容。我的问题是,我应该关注电池寿命和使用像PubNub这样的长轮询解决方案的大量使用吗? Websockets解决方案是否会显着提高功效?
答案 0 :(得分:13)
作为电池性能和效率的前言,与替代或自托管的websocket解决方案相比,PubNub是一种针对移动设备的优化服务。 PubNub在移动电话上提供了一个追赶功能,可以自动重新发送丢失的消息,特别是对于在小区网络塔之间移动并从3G / 4G更改为WiFi的设备。由于常见情况下的可靠性,Websockets往往不推荐用于移动设备,这就是PubNub将自动为您的设备选择最佳传输的原因;所以你不必决定什么对传输中的手机最有意义。
PubNub具有一个非常长的保持连接,并设置为一小时。每300秒发送一次ping(300,000ms)。这足以在移动性能和节省电池之间提供最佳组合。
PubNub会在需要时自动为您选择最佳传输,尤其是在移动设备上。关于websockets的一个有趣的对话发生在2012年10月在KRTConf的俄勒冈州波特兰市,我建议你https://speakerdeck.com/3rdeden/realtimeconf-dot-oct-dot-2012
如果这有用,请告诉我。
答案 1 :(得分:2)
我不认为这是正确的。见http://eon.businesswire.com/news/eon/20120927005429/en/Kaazing/HTML/HTML5
我实际上是在比较WebSocket和常规的基于http的消息传输时对Kaazing进行测试的人。我看到WebSocket的电池消耗大幅下降。现在Kaazing在WebSocket之外还有其他技术可以减少电池消耗,但即使你不使用Kaazing,你仍然可以看到WebSocket的电池消耗效率。我通过运行实际测试来尝试这一点,即使是基本的WS与http,也没有任何特殊的电池优化算法。