为什么 Pusher 每秒发出 POST 个请求?

Why Pusher keep making POST requests each seconds?

我正在使用 Pusher websocket,我想了解为什么它每 10-20 秒不断发出 POST 请求:

app.js:66006 XHR finished loading: POST "https://sock26-us2.pusher.com/pusher/app.......

一段时间后,我的控制台记录如下:

(699) XHR finished loading: POST "<URL>".

699 POST个请求,就是不停的POST个请求,这正常吗?因为我没有看到它发生在其他使用 websockets 的网站上。

有时网络条件(防火墙、连接不稳定等)会使维持 websocket 连接变得困难。为了在这种情况下提供帮助,Pusher-js 库有许多自动回退到长轮询/流式传输,以帮助您在这些情况下保持可靠的连接。这就是为什么您会看到很多 POST 个请求。

库将首先尝试通过 websockets 连接,如果失败或有很多断开连接,它将使用另一种传输机制自动重试。

图书馆也会将最佳传输机制缓存一段时间,并且会更喜欢回退。一旦缓存过期,如果您的网络状况有所改善,它将通过 websockets 重试。

您可以在此处查看有关 websocket 回退的更多详细信息:

https://pusher.com/docs/channels/using_channels/websocket-fallbacks