ws

提供: Node.js/JavaScript入門
移動: 案内検索
スポンサーリンク

node.jswsは、npmパッケージとして提供されるWebSocketライブラリです。WebSocketの実装を簡単に実現できます。wsパッケージで提供されるwscatは、netcat(ncat,nc)ライクなコマンドです wsは、WebSocketのサーバアプリケーションの開発時に動作確認を行う簡単なツール(wscat)を提供します。

読み方

ws
だぶるえす

概要

node.jswsは、npmパッケージとして提供されるWebSocketライブラリです。WebSocketの実装を簡単に実現できます。wsパッケージで提供されるwscatは、netcat(ncat,nc)ライクなコマンドです。サーバモードとクライアントモードを持っています。WebSocketサーバやクライアントを実装するときのデバッグやテストに利用できます。

インストール

$ sudo npm install -g ws
$ sudo npm install -g ws
/usr/local/bin/wscat -> /usr/local/lib/node_modules/ws/bin/wscat
 
> ws@0.4.32 install /usr/local/lib/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
 
gmake: ディレクトリ `/usr/local/lib/node_modules/ws/build' に入ります
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
gmake: ディレクトリ `/usr/local/lib/node_modules/ws/build' から出ます
ws@0.4.32 /usr/local/lib/node_modules/ws
├── tinycolor@0.0.1
├── options@0.0.5
├── commander@2.1.0
└── nan@1.0.0

使い方

WebSocketサーバの実装

ws_server1.js

WebSocketクライアントから送信されてきたメッセージをコンソールに表示するだけのプログラムです。

/*
 * ws_server1.js
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({port: 8080});
wss.on('connection', function(ws) {
        ws.on('message', function(message) {
                console.log('received: %s', message);
        });
        ws.send('something');
});

実行

サーバの起動とメッセージ受信時の例です。

$ node ws_server1.js
received: hello

クライアントからサーバに接続します。hello と入力し、エンターを押すと、サーバ側へ送信されます。

$ wscat -c ws://127.0.0.1:8080
connected (press CTRL+C to quit)
< something
> hello
>

WebSocketクライアントの実装

WebSocketサーバに接続して、メッセージを送信するだけのプログラムです。

ws_client1.js

/*
 * ws_client1.js
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
var WebSocket = require('ws');
var ws = new WebSocket('ws://127.0.0.1:8080');
ws.on('open', function() {
        var now = new Date();
        ws.send('hello, ' + now);
        ws.close();
});

実行

事前にWebSocketサーバをwscatで実行しておきます。

$ wscat -l 8080

クライアントの実装方法は、以下の通りです。

$ node ws_client1.js

WebSocketサーバwscatは、以下のような表示をします。

$ wscat -l 8080
listening on port 8080 (press CTRL+C to quit)
client connected
< hello, Sat Sep 06 2014 20:40:44 GMT+0900 (JST)
disconnected

関連項目




スポンサーリンク