WebSocket – node.js


WebSocket は、コネクションレス型の http プロトコルに代わる、コネクション型の新しいプロトコルです。
node.js には、WebSocket の実装がいくつかあるようです。
今回は ws を使用します。

インストール

npm install ws

コード
サンプルコードを少し修正して、エコーサーバーを作る。

server.js

var WebSocketServer = require('ws').Server
  , wss = new WebSocketServer({port: 8080});
wss.on('connection', function(ws) {
    ws.on('message', function(message) {
        console.log('received: %s', message);
        ws.send(message);
    });
});
console.log('Server running at 8080');

client.js

var WebSocket = require('ws');
var ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {
  console.log('connected');
  ws.send(Date.now().toString());
});
ws.on('close', function close() {
  console.log('disconnected');
});
ws.on('message', function message(data) {
  console.log( (Date.now() - parseInt(data)) + 'ms: ' + data);
  setTimeout(function timeout() {
    ws.send(Date.now().toString());
  }, 500);
});
console.log('Client running');

実行例
20150321_ws_server 20150321_ws_client

参考
WebSocket の導入: ウェブにソケットを実装する
The fastest RFC-6455 WebSocket implementation for Node.js
ws – Node.js/JavaScript入門


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です