ws
提供: Node.js/JavaScript入門
スポンサーリンク
node.jsのwsは、npmパッケージとして提供されるWebSocketライブラリです。WebSocketの実装を簡単に実現できます。wsパッケージで提供されるwscatは、netcat(ncat,nc)ライクなコマンドです wsは、WebSocketのサーバアプリケーションの開発時に動作確認を行う簡単なツール(wscat)を提供します。
読み方
- ws
- だぶるえす
目次
概要
node.jsのwsは、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
関連項目
ツイート
スポンサーリンク