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