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並標記爲已解決 –