「ws」の版間の差分
提供: Node.js/JavaScript入門
行1: | 行1: | ||
− | npm [[ws]]は、[[WebSocket]] | + | [[node.js]]の[[ws]]は、[[npm]]パッケージとして提供される[[WebSocket]]ライブラリです。[[WebSocket]]の実装を簡単に実現できます。[[ws]]パッケージで提供される[[wscat]]は、netcat(ncat,nc)ライクなコマンドです |
+ | [[ws]]は、[[WebSocket]]のサーバアプリケーションの開発時に動作確認を行う簡単なツール([[wscat]])を提供します。 | ||
'''読み方''' | '''読み方''' | ||
行6: | 行7: | ||
== 概要 == | == 概要 == | ||
+ | [[node.js]]の[[ws]]は、[[npm]]パッケージとして提供される[[WebSocket]]ライブラリです。[[WebSocket]]の実装を簡単に実現できます。[[ws]]パッケージで提供される[[wscat]]は、netcat(ncat,nc)ライクなコマンドです。サーバモードとクライアントモードを持っています。[[WebSocket]]サーバやクライアントを実装するときのデバッグやテストに利用できます。 | ||
== インストール == | == インストール == | ||
行27: | 行29: | ||
├── commander@2.1.0 | ├── commander@2.1.0 | ||
└── nan@1.0.0 | └── nan@1.0.0 | ||
+ | </syntaxhighlight> | ||
+ | == 使い方 == | ||
+ | === WebSocketサーバの実装 === | ||
+ | ==== ws_server1.js ==== | ||
+ | [[WebSocket]]クライアントから送信されてきたメッセージをコンソールに表示するだけのプログラムです。 | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | /* | ||
+ | * 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'); | ||
+ | }); | ||
+ | </syntaxhighlight> | ||
+ | ==== 実行 ==== | ||
+ | |||
+ | サーバの起動とメッセージ受信時の例です。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ node ws_server1.js | ||
+ | received: hello | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | クライアントからサーバに接続します。hello と入力し、エンターを押すと、サーバ側へ送信されます。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ wscat -c ws://127.0.0.1:8080 | ||
+ | connected (press CTRL+C to quit) | ||
+ | < something | ||
+ | > hello | ||
+ | > | ||
+ | </syntaxhighlight> | ||
+ | === WebSocketクライアントの実装 === | ||
+ | [[WebSocket]]サーバに接続して、メッセージを送信するだけのプログラムです。 | ||
+ | ==== ws_client1.js ==== | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | /* | ||
+ | * 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(); | ||
+ | }); | ||
+ | </syntaxhighlight> | ||
+ | ==== 実行 ==== | ||
+ | 事前に[[WebSocket]]サーバを[[wscat]]で実行しておきます。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ wscat -l 8080 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | クライアントの実装方法は、以下の通りです。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ node ws_client1.js | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | [[WebSocket]]サーバ[[wscat]]は、以下のような表示をします。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ 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 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 関連項目 == | == 関連項目 == | ||
* [[wscat]] | * [[wscat]] | ||
+ | * [[WebSocket]] | ||
+ | * [[iocat]] | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2014年9月6日 (土) 20:45時点における最新版
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