簡體   English   中英

Socket.IO,頁面加載時有多個連接

[英]Socket.IO, multiple connections on page load

我有一個socketIO / express應用程序,它像這樣:

function joinRoom(socket,roomName){
    socket.join(roomName);
    console.log('success joining '+roomName);
    socket.broadcast.to(roomName).emit('chat',{type:'join',msg:guestList[socket.id]+' has arrived in '+roomName+'!'});
    socket.emit('chat',{type:'join',msg:'You are now in '+roomName});
}

function assignName(socket){
    var name = 'Player#'+guestId;
    guestList[socket.id]= name;
    socket.emit('chat',{type:'name',msg:name});
    return guestId+1;
}

io.sockets.on('connection', function (socket) {
  io.of('/lobby').on('connection', function (socket) {
    guestId=assignName(socket);             
    joinRoom(socket, 'Lobby');      
  });   
  handleMessage(socket);
});

當我打開第一個瀏覽器窗口時,一切正常,我看到Player#0已連接,而加入室的消息也是如此。 但是,當我打開第二個窗口或瀏覽器時,我看到2個連接(玩家#1和#2),然后,如果我打開第三個窗口,我將看到3個連接,即#3,#4,#5。 有沒有搞錯? 這一定是愚蠢的,但我不明白,幫助!

G。

排序! 基本上,我從io.sockets.on(...)分離了名稱空間連接,並且行為恢復了正常。 這是有道理的,盡管我不確定為什么連接事件的數量是遞增的...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM