我正在学习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);
}
});
当我启动服务器时,“用户已连接”被打印出一个无限循环,而不是一个。我已经尝试了几个教程,但仍然遇到同样的错误。 我有相同版本的客户端和服务器包,但无法弄清楚我做错了什么。
答案 0 :(得分:0)
好的,我不知道发生了什么,我改变了端口,它开始工作了。 我现在回到了端口3000并且工作正常,不确定到底发生了什么,但显然与代码无关。