各バージョンは
node : 0.10.25
express : 4.13.1
socket.io : 1.3.7
以下インストールの流れ
$ mkdir chat $ express -e chat $ cd chat $ npm install $ npm install socket.io
bin/www の末尾に以下のソースを追記
var socketio = require( 'socket.io' ); var io = socketio.listen( server ); io.sockets.on( 'connection', function( socket ) { socket.on( 'message', function( data ) { io.sockets.emit( 'message', { value : data.value } ); }); });
views/index.ejsを以下のものに書き換える
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript" src="/socket.io/socket.io.js"></script> </head> <body> <form> <input type="text" id="messageForm"> <button type="button" id="sendMessageBtn">送信</button> </form> <div id="messageView"></div> <script type="text/javascript"> var ioSocket = io.connect( "http://localhost:3000" ); ioSocket.on( "message", function( data ) { $("#messageView").append( "<div>" + data.value + "</div>" ); }); $("#sendMessageBtn").click( function() { var message = $("#messageForm").val(); $("#messageForm").val(""); ioSocket.emit( "message", { value : message } ); }); </script> </body> </html>
サーバを起動する
$ node bin/www
ブラウザを2つ立ち上げて、両方ともlocalhost:3000にアクセスして動作確認する。