nodeのサンプル

このまえインストールしたnodeで遊んでみた。リアルタイムおもしろいな!
app.js

/**
 * Module dependencies.
 */

var express = require('express');
var app = module.exports = express.createServer();
var io = require('socket.io').listen(app);

// Configuration

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'ejs');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
});

app.configure('production', function(){
  app.use(express.errorHandler()); 
});

// Routes

app.get('/', function(req, res){
  res.render('index', {
    title: 'nekoExpress'
  });
});

io.set('transports', [
    'websocket'
  , 'flashsocket'
  , 'htmlfile'
  , 'xhr-polling'
  , 'jsonp-polling'
]);


io.sockets.on('connection',function(socket){
	socket.on('user message',function(data){
		socket.broadcast.emit('user message',data);
		io.sockets.emit('user message',data);
	  console.log(data.my);
	 });
    });

app.listen(3000);

console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);

index.ejs

<!DOCTYPE html>
<html>
    <head>
        <title>test app</title>
        <meta charset="urt-8"/>
        <script src="/socket.io/socket.io.js"></script>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
   </head>

<body>
<h1>Socket</h1>
<div id="tt">
<p>なるほろー</p>
</div>

<div id="display">

</div>
<input type="text" id="message" />

<script>
var socket = io.connect('http://localhost');

socket.on('user message',function(data){
  $('#display').text(data);
});

$(function(){
 $('#message').keyup(function(){
   socket.emit('user message',$(this).val());
  });
});


</script>

</body>
 
</html>

ブラウザを2つ立ち上げて、
なにか入力してみる。

参考
socket.io v0.7を使用したサンプル - すにぺっと