【问题标题】:Error during WebSocket Unexpected response code: 400WebSocket 意外响应代码期间出错:400
【发布时间】:2017-07-22 17:36:55
【问题描述】:

我正在尝试建立一个 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();
  }
}

【问题讨论】:

    标签: node.js websocket socket.io


    【解决方案1】:

    您需要监听到套接字的连接,然后您可以在收到来自 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);
    });
    

    【讨论】:

      猜你喜欢
      • 2019-08-05
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      相关资源
      最近更新 更多