LoginSignup
9

More than 5 years have passed since last update.

echo サーバを利用した websocket のサンプル(Server 編)

Last updated at Posted at 2013-11-04

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9