2017-03-02 46 views
-1

我试图让WebSockets的连接去,我不断收到以下错误: WebSocket connection to 'ws://localhost:3000/socket.io/?EIO=3&transport=websocket&sid=w6H2vNXXbYIOhwPQAAAA' failed: Error during WebSocket handshake: Unexpected response code: 400错误: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

你需要监听的套接字连接,然后就可以收到一个从Socket.io后创建一个新的Sockets实例。然后,您可以将从Socket.io收到的套接字存储到新的Socketssocket属性中。

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); 
});