我正在尝试获取websockets连接,并且我一直收到以下错误:
WebSocket connection to 'ws://localhost:3000/socket.io/?EIO=3&transport=websocket&sid=w6H2vNXXbYIOhwPQAAAA' failed: Error during WebSocket handshake: Unexpected response code: 400
我的代码非常简单 - 在客户端我调用this.socket = io();
,在服务器端我正在执行以下操作。我已经注意到关于这个主题的几个相关帖子,并尝试了大量的变化,但似乎没有任何工作。在此先感谢:)
const app = require("http").createServer(handler);
const io = require("socket.io")(app);
app.listen(3000);
class Sockets {
constructor() {
this.humanPlayers = [];
this.socket = io.listen(app);
this.setEventHandlers();
}
}
答案 0 :(得分:0)
您需要侦听与套接字的连接,然后在从Socket.io收到一个实例后创建一个新的Sockets
实例。然后,您可以将从Socket.io收到的套接字存储到新的Sockets
socket
属性中。
const app = require("http").createServer(handler);
const io = require("socket.io")(app);
class Sockets {
constructor(socket) {
this.humanPlayers = [];
this.socket = socket;
this.setEventHandlers();
}
}
app.listen(3000);
io.on('connection', (socket) => {
let connectedSocket = new Sockets(socket);
});