Socket.io-client connection error: websocket error

Socket.io-client connection error: websocket error

之前,我得到输出“xhr poll error”,代码为:

import { io } from "socket.io-client";

const socket = io("https://socket.io/docs/v4", {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax: 5000,
    reconnectionAttempts: 3
});

socket.on('connect_error', function(error) {
    console.log(error.message);
});

通过一些研究,通过添加“传输:['websocket']”“解决”了这个问题。这是我当前的代码:

import { io } from "socket.io-client";

const socket = io("https://socket.io/docs/v4", {
    reconnection: true,
    reconnectionDelay: 1000,
    reconnectionDelayMax: 5000,
    reconnectionAttempts: 3,
    transports: ['websocket']
});

socket.on('connect_error', function(error) {
    console.log(error.message);
});

不幸的是,这并没有真正解决我的问题,因为现在我得到以下输出:websocket 错误。

我尝试过的其他事情:在 URL 之后指定端口并将 rejectUnauthorized 设置为 false。 (都给我同样的 websocket 错误。

我有点不知道下一步该怎么做,很高兴听到你们的一些反馈!

Socket.io-客户端版本:4.5.1

默认情况下,如果可能,客户端将尝试建立 WebSocket 连接,否则将回退到 HTTP 长轮询,这解释了为什么您提到的第一个更改解决了轮询错误,但现在出现了 websocket 错误.

如果它正在尝试自动重新连接,您可能需要启用 CORS 或设置凭据。如果不是,您应该尝试在 socket.connect()

超时后手动重新连接