1

我创建了一个带有 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
4

2 回答 2

0

答案:PubNub 和多个 XHR 请求

您显示的这些 5 分钟响应是来自 PubNub Cloud 的 PIN。是的,这是预期的正确行为。阅读下文以了解 PubNub 如何将数据流式传输到您的客户端(如 Google Chrome)。另请参阅我的应用程序不断收到的空白消息是什么,以了解更多信息。继续阅读细节:

PubNub 套接字连接

用于移动和网络浏览器(如 Chrome (webkit))的 PubNub JavaScript 客户端维护一个套接字连接,该连接将持续一小时24 小时,具体取决于网络流量。连接会在24 小时后刷新,并会以可靠的数据传送能力自动重新连接(赶上错过的消息)。这是因为 PubNub 为您的客户维护一个云队列,该队列会重新传递任何错过的消息。

PubNub 掉线连接追赶

PubNub 使用云队列在内存中维护消息,直到数据被传送到您的客户端设备(如 Google Chrome)。因此,如果您断开连接,您仍然会收到在离线状态下发送的数据,一旦连接恢复,您将收到您的消息。

PubNub XHR Ping 和请求

在您的 Chrome 开发控制台中,您将每300 秒(即 5 分钟)看到一次 ping 。这些 ping 是一种应用层传输协议,可确保数据流仍然处于活动状态。这在互联网丢失和恢复的状态下很有帮助。这允许TCP-KeepAlive 更好的连接性和更高的可靠性。在数据传输周期期间,连接状态将如上一节所述保持,连接持续最多 24 小时后被回收。

于 2013-01-01T19:50:24.480 回答
0

是的,这是预期的,因为 PubNub 使用HTTP 长轮询在客户端和服务器之间进行通信。

于 2013-01-01T15:33:28.677 回答