提问者:小点点

为什么是插座。io返回“错误的握手方法”?


晚上好,我正在努力与插座连接。我在nodejs-Express后端和角前端的ngx-Sock-io中使用socket.io,但是在连接时,我连续收到400个stat({代码: 2,消息:“糟糕的握手方法”})与200个stat宽度sid: 0{sid:"REeYoGC5t_JnTp4dAABp","升级":"webSocket"],"pingInterval":25000,"pingTimeout":5000})。

[这是chrome的网络标签的截图][1]

这里是服务器

const app = express();
const server = http.createServer(app);

server.listen(PORT, () => {
    console.log("Server is listening on " + PORT, colors.yellow);
    init();
});

const io = require("socket.io")(server, {
   cors: {
        origin: ["http://localhost:4200", "https://myurl.com",],
        credentials: true
    }
});

io.on("connection", (socket) => {

    console.log("Connected");

    socket.emit("ok","ok");
    socket.on("disconnect", (data) => {

    });
});

这就是客户

const config: SocketIoConfig = { 
    url: environment.SERVER_ENDPOINT, 
    options: { autoConnect: false, withCredentials: true}  
};

...
imports: [
    SocketIoModule.forRoot(config)
]
...

有人能帮我吗?[1]:https://i.stack.imgur.com/72YSB.png

编辑我已经用套接字解决了这个问题。io客户端而不是ngx套接字io


共1个答案

匿名用户

尝试降级版本,这是罚款与socket.io2.3.1