2017-10-12 95 views
0

我正在学习socket.io。 继教程后,我使用express和webpack创建了一个简单的服务器。Socket io。 ('连接')创建一个无限循环

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); 
} 
}); 
在index.html的

我补充一点:

<script src="https://cdn.socket.io/socket.io-2.0.3.js"></script> 
    <script> 
const socket = io(); 
</script> 

当我启动“用户连接”服务器获取打印用无限循环,而不是仅仅一个。我试了几个教程,但不断得到相同的错误。 我有客户端和服务器包在相同的版本,但无法弄清楚我做错了什么。 enter image description here

+0

我正在使用服务器和客户端的相同版本的软件包。 2.0.3 –

回答

0

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