websocket を利用したサンプルを作成する.
サーバには WebSocket.io という node のモジュールを利用する.
https://github.com/LearnBoost/websocket.io
(WebSocket のサーバ側の実装は, 他の言語でもいろいろとあるみたい)
WebSocket とは, TCP/IP のソケットを使った通信もどきをブラウザから実行できるというものである.
これは確かにすごい.
ってことで試してみた.
WebSocket クライアント
以下が利用できるみたいなので拝借する.
http://www.websocket.org/echo.html
WebSocket サーバ
インストール
% npm install websocket.io
サーバのコード
% cat ws_server.js
var websocket = require('websocket.io');
exports.activateServer = function (port) {
// サーバ構築
var ws = websocket.listen(
port,
function () {
console.log('Server running on ' + ':' + port);
}
);
ws.on('connection', function (socket) {
console.log('Connection began!');
socket.on('message', function (messageEvent) {
console.log('Recive msg!');
console.log(messageEvent);
});
});
};
exports.activateServer('3001');
サーバの起動
% node ws_server.js
Server running on :3001
検証
http://www.websocket.org/echo.html
の Location に, 上記の手順でサーバを設置したホストを指定し, Connect ボタンをクリックする.
(例では port を 3001 にしてるので, それも忘れずに指定する.)
Log: に CONNECTED と表示されれば, websocket を介したサーバとのコネクションの確立に成功したことになる.
コネクションを確立した後は, メッセージを送ってみる.
Message: に適当なメッセージを指定して, Send ボタンを押す.
すると, サーバ側でメッセージが表示されたでしょ?
次にやること
WebSocket は, TCP/IP を利用して実装されている新しいプロトコルである.
時間があれば以下のドキュメントを読んでおきたい.
http://www.w3.org/TR/websockets