title: socket.io and node.js to send message to particular client
body: <p>Sending message to all client works well but I want to send message to particular username. my server.js file looks like. What it does is when <code>http://localhost:8080</code> is run, the client code adds user to the object usernames as well as in socket object. And instantly returns the individual message to each of the connected client.</p>
  
  <pre><code>//var io = require('socket.io').listen(8080);
  var app = require('http').createServer(handler)
    , io = require('socket.io').listen(app)
    , fs = require('fs')
  var usernames={};  
   app.listen(8080);
  
  // on server started we can load our client.html page
  function handler ( req, res ) {
    fs.readFile( __dirname + '/client.html' ,
    function ( err, data ) {
      if ( err ) {
        console.log( err );
        res.writeHead(500);
        return res.end( 'Error loading client.html' );
      }
      res.writeHead( 200 );
      res.end( data );
    });
  };
  io.set('log level', 1); // reduce logging
  io.sockets.on('connection', function (socket) {
  
   socket.on('adduser', function(username){
          // store the username in the socket session for this client
          socket.username = username;
          // add the client's username to the global list
          usernames[username] = username;
          // send client to room 1
          console.log(username+' has connected to the server');
          // echo to client they've connected
    });
  
    socket.on('pmessage', function (data) {
          // we tell the client to execute 'updatechat' with 2 parameters
          io.sockets.emit("pvt",socket.username,data+socket.username); // This works
          io.sockets.socket(socket.username).emit("pvt",socket.username,data+socket.username); // THIS DOESNOT
     });
  
    socket.on('disconnect', function(){
          // remove the username from global usernames list
          delete usernames[socket.username];
  
          // echo globally that this client has left
         console.log(socket.username + ' has disconnected');
      });
  });
  </code></pre>
  
  <p>The portion that emits message</p>
  
  <pre><code>socket.on('pmessage', function (data) {
          // we tell the client to execute 'updatechat' with 2 parameters
          io.sockets.emit("pvt",socket.username,data+socket.username); // This works and sends message to all clients
          io.sockets.socket(socket.username).emit("pvt",socket.username,data+socket.username); // THIS DOESNOT
     });
  </code></pre>