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

时间:2021-03-23 16:54:25

标签: javascript pusher pusher-js

我正在使用 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 的网站上没有看到这种情况发生。

1 个答案:

答案 0 :(得分:0)

有时网络条件(防火墙、连接不稳定等)会导致难以维持 websocket 连接。为了在这种情况下提供帮助,Pusher-js 库对长轮询/流进行了许多自动回退,以帮助您在这些情况下保持可靠的连接。这就是您看到大量 POST 请求的原因。

该库将首先尝试通过 websockets 进行连接,如果连接失败或出现大量断开连接,它将使用其他传输机制自动重试。

该库还将缓存最好的传输机制一段时间,并且更喜欢回退。缓存过期后,如果您的网络状况有所改善,它将通过 websockets 重试。

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

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