Опрос (голосование) в сокете .комнаты ввода-вывода

#html #sockets #server #socket.io #socket.io-1.0

Вопрос:

Я составляю программу голосования, в которой могут голосовать только те участники, которые находятся в определенной комнате. Программа запрашивает у них название комнаты, в которую они должны вступить, и как только они присоединятся, они смогут проголосовать. Учитываются голоса только тех людей, которые находятся в этой конкретной комнате. Например, если я присоединюсь к комнате «встреча» и нажму опцию 1, а другой клиент присоединится к комнате «администратор», в этом случае, даже если он нажмет опцию 1, она не увеличится для клиента в комнате «встреча», она увеличится только в том случае, если какой — либо другой клиент присоединится к комнате «встреча», Может ли кто-нибудь помочь мне, объяснив, как я могу этого добиться ? Я уже пробовал использовать socket.to(КОМНАТА).испускайте, чтобы сделать это, но этого не происходит

 var socket = io(); // const roomName=document.getElementById('roomName') // const uname=document.getElementById('identity') // const password=document.getElementById('pass') const showButtons = document.getElementById("btn"); const roomInfo = document.getElementById("roomInfo"); socket.on(" connect", () =gt; {  console.log("Connected", socket.id); }); function joinRoom() {  const roomName = document.getElementById("roomName").value;  socket.emit("roomTojoin", roomName); } socket.on("roomJoined", function (roName) {  roomInfo.innerHTML = "You are now in "   roName;  showButtons.style.display = "block"; }); function vote1() {  socket.emit("vote1",roomName);  socket.on("vote1done", function (vote1Value) {  document.getElementById("vote1Value").innerHTML = vote1Value;  }); } function vote2() {  socket.emit("vote2",roomName);  socket.on("vote2done", function (vote2Value) {  document.getElementById("vote2Value").innerHTML = vote2Value;  }); } function vote3() {  socket.emit("vote3",roomName);  socket.on("vote3done", function (vote3Value) {  document.getElementById("vote3Value").innerHTML = vote3Value;  }); } function vote4() {  socket.emit("vote4",roomName);  socket.on("vote4done", function (vote4Value) {  document.getElementById("vote4Value").innerHTML = vote4Value;  }); }  

На стороне сервера-

 const express = require('express'); const app = express(); var http = require('http').Server(app); var io = require('socket.io')(http); let rooms={} app.use(express.static('client')) let vote=[0,0,0,0]  io.on('connection', function (socket) {  socket.on('roomTojoin', function (rName) {  console.log(rName);  socket.join(rName)  socket.emit('roomJoined',rName)  })  socket.on('vote1', function (roomForVote) {  vote[0] = vote[0]   1  socket.emit('vote1done',vote[0])  })  socket.on('vote2', function () {  vote[1] = vote[1]   1  socket.emit('vote2done',vote[1])  })  socket.on('vote3', function () {  vote[2] = vote[2]   1  socket.emit('vote3done',vote[2])  })  socket.on('vote4', function () {  vote[3] = vote[3]   1  socket.emit('vote4done',vote[3])  })  })   http.listen(3000, function(){  console.log('listening on localhost:3000'); });