簡體   English   中英

向所有不工作的套接字發出Socket.io

[英]emit to all sockets not working Socket.io

我正在嘗試向使用socket.io連接到服務器的所有套接字發出消息。 到目前為止,代碼如下:

  if(electionExists) { var connectedClients = io.sockets.adapter.rooms[electionRequested].sockets; for(client in connectedClients) { socket.to(client).emit("isVoteValid", {voteToValidate: voteToValidate}); } } 

我確保它進入if(electionExists)條件。 另外,我已打印出一系列連接的客戶端,如下所示:

{ SdiVoIUuGfFL5AJXAAAA: true, 'wLh-EfkAIrWpjx6nAAAC': true }

並且僅出於此目的,我在循環中打印了每個客戶端,這導致了:

SdiVoIUuGfFL5AJXAAAA
wLh-EfkAIrWpjx6nAAAC

因此,我被認為是問題不在於獲得正確的套接字ID。 但是,發射事件不起作用。 在客戶端,我有這個:

  socket.on("isVoteValid", function(obj) {
    console.log("it enters isVoteValid");
  });

這確實非常簡單,但console.log從未發生。 我真的不明白為什么它不起作用。 有人知道嗎?

如果您想廣播您的消息,請使用以下代碼

if(electionExists) {
      socket.broadcast.emit("isVoteValid", {voteToValidate: voteToValidate});
}

或者你也可以使用這個

if(electionExists) {
      io.sockets.emit("isVoteValid", {voteToValidate: voteToValidate});
}

暫無
暫無

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

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