title: socket.io rooms repeating same message per client
body: <p>I'm using rooms to send a 'private' message to a client and it works however the message being sent is duplicated by the number of clients I have and I believe this is because of my <code>.on('message')</code> since this is still triggering for every client but only emitting to the correct client (but multiple times..)</p>
  
  <p>server</p>
  
  <pre><code>io.sockets.on('connection', function(socket {
      socket.on('join', function(data)
      {
          console.log('enter');
          socket.join(data.user);
  });
  
  var rClient =   redis.createClient();
  rClient.subscribe('messagex');
  
  rClient.on('message', function(channel, message) {
      io.in(message.user).emit('messagex', {content: message.content});
  });
  
  socket.on('disconnect', function() {
      rClient.quit();
  });
  </code></pre>
  
  <p>});</p>
  
  <p>receiver client</p>
  
  <pre><code>&lt;script&gt;
  var username = prompt("test");
  var socket  =   io.connect('http://localhost:8100');
  socket.emit('join', {user: username});
  
  socket.on('messagex', function(data) {
      $('#messages').append('&lt;p&gt;' + data.content + '&lt;/p&gt;');
  });
  </code></pre>
  
  <p></p>
  
  <p>So I have 3 clients (each with different users/rooms open) at the receiver page and I send a message from the sender to say user user1, then I will only receive the message on user1 client but it will receive 3 of the same message each time and the number of times duplicated seems to be the number of clients I have..</p>