0
我测试socket.io,做一个简单的聊天消息(按照官方网站的教程)Socket.io重复发射的第二个窗口
我开了2个窗口:
当我发出第一个窗口中的事件打开,其正常。
但是,当我在第二个窗口发出事件时,发送事件2次(重复)。
PS:如果我打开第三窗口,该事件发送3次
的Node.js代码:
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
io.on('connection', function(socket) {
socket.on('chatMessage', function(msg){
io.emit('chatMessage', msg);
});
});
});
客户端:
methods: {
sendMessage: function() {
socket.emit('chatMessage', this.text);
}
socket.on('chatMessage', function(msg){
console.log('Client side message: ' + msg)
vmIndex.messages.push(msg);
});
这是因为你每次有人访问''/''路由时都会创建一个连接监听器。尝试移动“/”路由功能之外的socket-io代码。 –
谢谢。是吗!!添加答案生病upvote并标记为已解决 –