套接字io。 on('connection')创建一个无限循环

时间:2017-10-12 18:51:06

标签: webpack socket.io webpack-dev-server

我正在学习socket.io。 在本教程之后,我使用express和webpack创建了一个简单的服务器。

from wsgiref.simple_server import make_server

pyramid_app = conf.make_wsgi_app()
pyramid_server = make_server('localhost', 6543, pyramid_app)

pyramid_server.serve_forever()
在index.html中我添加了这个:

const path = require('path');
const webpack = require('webpack');
const app = require('express')();

const config = require('./webpack.config.local');

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

const compiler = webpack(config);

// Set up the server to use webpack middleware
app.use(
  require('webpack-dev-middleware')(compiler, {
  publicPath: config.output.publicPath,
  stats: {
    colors: true,
  },
  historyApiFallback: true,
  }),
 );

// We need hot reload too
app.use(require('webpack-hot-middleware')(compiler));

app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'src/index.html'));
});

io.on('connection', (socket) => {
  console.log('user is connected', socket.id);
});

// Server Listening
server.listen(3000, (err) => {
  if (err) {
   console.log(err);
}
});

当我启动服务器时,“用户已连接”被打印出一个无限循环,而不是一个。我已经尝试了几个教程,但仍然遇到同样的错误。 我有相同版本的客户端和服务器包,但无法弄清楚我做错了什么。 enter image description here

1 个答案:

答案 0 :(得分:0)

好的,我不知道发生了什么,我改变了端口,它开始工作了。 我现在回到了端口3000并且工作正常,不确定到底发生了什么,但显然与代码无关。