相关疑难解决方法(0)

使用socket.io和webpack-dev-server时出错

快问问题的家伙,我正在尝试使用带有socketio的webpack-dev-server,但在尝试不同的事情之后,我认为两个客户端都在监听同一个端口'3000',我最终遇到了某种握手错误如果我不在同一个端口上使用webpack-dev-server那么这里是我的服务器配置

const PORT = process.env.PORT || 3000;

new WebpackDevServer(webpack(config), {
  publicPath: config.output.publicPath,
  hot: true,
  historyApiFallback: true,
  setup(app) {

    const server = require('http').Server(app);
    let onlineUsers = 0;
    const io = require('socket.io')(server);

    io.on('connection', (socket) => {
      console.log(`A client is connected:${socket.id}`);
      onlineUsers++;
      io.sockets.emit('onlineUsers', {
        onlineUsers
      });
    });

    server.listen(3000, () => {
      console.log('listening on *:3000');
    });
  }
}).listen(PORT, 'localhost', (err) => {
  if (err) {
    console.log(err);
  }
  console.log(`Listening at localhost: ${PORT}`);
});
Run Code Online (Sandbox Code Playgroud)

和webpack配置

  entry: [
    'webpack-dev-server/client?http://localhost:3000',
    'webpack/hot/only-dev-server',
    'react-hot-loader/patch',
    './src/app.js'
  ],
Run Code Online (Sandbox Code Playgroud)

这些都是错误

WebSocket connection to …
Run Code Online (Sandbox Code Playgroud)

socket.io webpack webpack-dev-server webpack-2

6
推荐指数
1
解决办法
4207
查看次数