Node.js + Socket.IO をためしてみた

Author: mucho

こんばんは。muchoです。
超超簡易版ですが、
Socket.IOを試してみました。
ひな形のひな形用のひな形用にメモ。

こちらのページを参考にしました。
Socket.IO API 解説

Socket.IO 0.9.5ってばJSON形式を標準でサポートしてる!
こりゃ素敵!

server.js

[code lang="js"]

var io = require('socket.io').listen(3000);
io.sockets.on('connection', function (socket) {
  //log('connected');
  socket.on('msg send', function (msg) {
    //socket.json.emit('msg push', msg);
    socket.json.broadcast.emit('msg push', msg);
  });
  socket.on('disconnect', function() {
    //log('disconnected');
    msg= {"type": "disconnect"};
    socket.json.broadcast.emit('msg push', msg);
  });
});

[/code]

ターミナルでNode.js起動

[code lang="js"]

$ node server.js

[/code]

client.js(socket.io.jsも別途読み込む必要があります)

[code lang="js"]

(function() {
document.writeln('');

  jQuery(function() {
    var sendSocket, socket;
    socket = io.connect('http://localhost:3000');
    socket.on('error', function(reason) {
      console.log(reason);
    });
    socket.on('connect', function() {});
    socket.on('msg push', function(msg) {
      console.log(msg.type);
    });
    sendSocket = function(type, arg) {
      var data;
      data = {
        "type": type,
        "data": arg
      };
      return socket.emit('msg send', data);
    };
    return null;
  });

}).call(this);

[/code]