[英]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.