【问题标题】:Frequent xhr request by socket.iosocket.io 频繁的 xhr 请求
【发布时间】:2022-01-13 17:20:17
【问题描述】:

当我从客户端连接到套接字服务器时,这被认为是反应,每隔几秒钟,套接字客户端就会发送一个重复的请求。通常,请求是获取类型的,并且大部分时间它们处于挂起模式。有时请求的结果是 2。 您认为在连接或使用套接字后发送重复请求的问题是什么?

更新

当我使用 namespace 时会出现这个问题。我尝试了所有的解决方案,但没有解决这个问题。

image

【问题讨论】:

标签: node.js reactjs express websocket socket.io


【解决方案1】:

当用于传输的选项是轮询(长轮询)时,这是预期行为。

默认情况下,传输参数是["polling", "websocket"]clientserver),其中元素的顺序很重要。因此,第一次连接尝试是通过 polling 进行的(与 websocket 相比启动速度更快),然后(或并行,我不知道工作细节)有一个连接尝试websocket(这需要更长的时间来建立,但对于以后的通信来说更快)。

如果websocket连接建立成功,通信就会以这种方式进行。但是如果发生错误,或者连接需要很长时间才能建立,或者实例的参数中没有这个传输选项,那么通信将继续通过 polling 进行,它们是各种未决的请求。他们处于待处理状态是正常的,因此他们会收到更新并能够立即通知请求者,而无需多次快速请求来查询应用程序的状态。

检查您为此连接设置的实例参数,以了解是否启用了通过 websocket 的传输。使用 反向代理 后面的套接字服务器时要小心,因为此反向代理需要正确配置以接受 websocket 连接,否则它将无法工作。

您可以通过启用WS 过滤器在浏览器检查的“网络”选项卡中检查 websocket 请求。


这里有一些额外的链接供您阅读:

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 2012-01-18
    相关资源
    最近更新 更多