r/node•
20CharactersLong

Express-generator, Socket.io Event issuing multiple times.

Hi All,

I have create a node app using express generator. I have integrated socket.io in the application. Since express generator has their own way of creating express server i have followed this procedure to successfully integrate the Socket connection with listening server and made the io available throughout the application via res.io instance.

But the problem is when i m emitting an event as shown below. My client is reading the data multiple times.

   var clients = 0;
   var nsp = res.io.of('/default-namespace');
    nsp.on('connection', function (socket) {
      clients++;
      console.log(clients + ' clients connected!');
      socket.on('disconnect', (reason) => {
        clients--;
        console.log(clients + ' clients connected!');
      });
         nsp.emit("socketToMe", "New User connected. Current clients:"+ clients);
    });

My listener has the following code:

 var socket = io('/default-namespace');
 socket.on('socketToMe', function (data) {
	$('#data-div').append($('<li>').text(data));
	});

Whenever i refresh the browser in another instance like incoginito my main browser is showing multiple events for the data. Like this

New User connected. Current clients:1
New User connected. Current clients:2
New User connected. Current clients:1
New User connected. Current clients:2
New User connected. Current clients:1
New User connected. Current clients:1 

Not sure what is wrong. Can anyone help me on this?

Posted Oct 28, 2017, 9:31 AM UTC

63
Loading comments…