接收错误:xhr 轮询错误 socket.io 客户端反应

Posted

技术标签:

【中文标题】接收错误:xhr 轮询错误 socket.io 客户端反应【英文标题】:Receiving Error: xhr poll error socket.io client React 【发布时间】:2021-10-05 12:29:07 【问题描述】:

尝试连接到我的 websocket 网关时,我在 connect_error 事件中收到 Error: xhr poll error。 我正在使用"socket.io-client": "^4.2.0"

import  io  from "socket.io-client";

const ENDPOINT = "http://localhost:3001";

const socket = io(ENDPOINT);

socket.on("connect_error", (e: any) => 
   console.log(e);
);

【问题讨论】:

新版本的 socket.io 还需要服务器端的 cors。 socket.io/docs/v4/handling-cors 【参考方案1】:

您可以尝试将客户端连接设置为仅使用 websocket 传输。默认情况下它使用 weboscket 和轮询。


   transports: ['websocket']

所以你的代码会变成:

const socket = io(ENDPOINT, 
   transports: ['websocket']
);

【讨论】:

以上是关于接收错误:xhr 轮询错误 socket.io 客户端反应的主要内容,如果未能解决你的问题,请参考以下文章

在 android 上使用 Socket.IO 总是返回 XHR 轮询错误

socket.io 通过 XHR 轮询强制断开连接

连接 socket.io 时由于 xhr poll 错误而出现 connect_error

socket.io xhr 在慢速连接上发布错误(3G 移动网络)

socket.io 不断尝试在错误的地址上使用轮询

为啥我不断收到 Socket.io 轮询请求的 404 错误?