socket.io(node.js)のserver -> clienetの送信まとめ
 2014年1月23日
roomを使わない場合
io.sockets.on('connection', function (socket) {
  // 本人
  socket.emit('msg','Hello!');
  // 他人へ(自分以外)
  socket.broadcast.emit('msg','Hello!!');
  // 全員(自分も含め)
  io.sockets.emit('msg','Hello!!');
  // 特定の誰か
  // var socket_id = socket.id;
  io.sockets.socket( socket_id ).emit('msg','Hello!!' ); 
});
特定の人に送る(それは自分かもしれないし、他人かもしれない)場合は、事前にsocket.idを保存しておく必要があります。
roomを使う場合
io.sockets.on('connection', function (socket) {
    // room1に入る
    socket.join('room1');
    // room1にいる本人
    socket.to('room1').emit('msg','Hello!!');
    // room1にいる他人(自分以外)
    socket.broadcast.to('room1').emit('msg','Hello!!');
    // room1にいる全員
    io.sockets.in('room1').emit('msg','Hello!!');
    // 特定の誰か
    io.sockets.socket( socket_id ).emit('msg','Hello!!' );
});
特定の誰かに送る場合は、roomを使わない場合と同じです。
 socket.idは、接続するroom毎に変わるので、room1とroom2にjoinした場合、同じ人であっても、それは別のsocket.idになります。