Pubnub和多个XHR请求

时间:2012-12-31 21:27:34

标签: xmlhttprequest pubnub

我创建了一个带有pubnub(3.4)订阅的简单网页,大约每5分钟我就会看到一个来自我的Chrome控制台的pubnub的XHR请求。这是正确的行为吗?感谢您的任何见解!

In doSubscribe 
XHR finished loading: "https://ps3.pubnub.com/time/0". pubnub-3.4.min.js:11
XHR finished loading: "https://ps2.pubnub.com/time/0". pubnub-3.4.min.js:11
XHR finished loading: "https://ps1.pubnub.com/subscribe/demo/xxxxx/0/0?uuid=fb81a2a0-3fdc-4be1-94b2-dd23ce0c4bcd". pubnub-3.4.min.js:11
XHR finished loading: "https://ps1.pubnub.com/subscribe/demo/xxxxx/0/13569794952114592?uuid=fb81a2a0-3fdc-4be1-94b2-dd23ce0c4bcd". pubnub-3.4.min.js:11
XHR finished loading: "https://ps1.pubnub.com/subscribe/demo/xxxxx/0/13569794952114592?uuid=fb81a2a0-3fdc-4be1-94b2-dd23ce0c4bcd". pubnub-3.4.min.js:11

2 个答案:

答案 0 :(得分:0)

是的,这是预期的,因为PubNub使用HTTP Long-Polling进行客户端和服务器之间的通信。

答案 1 :(得分:0)

ANSWER:PubNub和多个XHR请求

您展示的这5分钟回复是来自PubNub Cloud的PINGS。是的,这是预期和正确的行为。请阅读以下内容,了解PubNub如何将数据流式传输到您的客户端,例如Google Chrome。另请参阅What are the Blank Messages my Application Keeps Receiving以了解更多信息。继续阅读具体细节:

PubNub套接字连接

适用于移动设备和网络浏览器(如Chrome(webkit))的PubNub JavaScript客户端维护的套接字连接将持续一小时,最多 24小时,具体取决于网络流量。连接在 24小时之后刷新,并将自动重新连接可靠的数据传送(Catch-up Missed Messages)。这是因为PubNub为您的客户维护一个云队列,重新传递任何错过的消息。

PubNub Dropped Connection Catch-up

PubNub使用云队列维护内存中的消息,直到数据已传送到您的客户端设备(如Google Chrome)。因此,如果您断开连接,您仍将收到脱机状态期间发送的数据,并且一旦连接恢复,您将收到消息。

PubNub XHR Ping和请求

在Chrome开发者控制台中,每隔 300秒,您将看到5分钟的ping。这些ping是Application Layer传输协议,可确保数据流仍处于活动状态且处于活动状态。这有助于互联网丢失和恢复状态。这允许优于 TCP-KeepAlive连接并提高可靠性。在数据传输周期期间,连接状态将按照上一节中的说明进行维护,连接最长可达24小时,然后再循环使用。