技術メモ/node.jsでWebSocketサーバ

提供:Shohei Yokoyama
>>Top > 技術メモ技術メモ/node.jsでWebSokecktサーバから転送)
移動: 案内, 検索

Uconstruct.png

工事中: このページは執筆中です。このWebページは不定期かつ気の向いた時に更新しております。

このページはnode.jsでWebSocketサーバを構築する手順を解説します。

目次

事前準備

node.jsのインストール

node.jsをfedora16にインストールしまっす。

http://johnroach.info/2011/11/20/installing-node-js-0-6-2-on-fedora-16/

準備

  • コンパイル等に必要なツールをインストール
# sudo yum install git openssl-devel gcc gcc-c++ mongodb

ダウンロード

  • gitから持ってきましょう
# git clone –depth 1 git://github.com/joyent/node.git
  • こんな感じで出力したら成功
 Cloning into 'node'...
 remote: Counting objects: 26253, done.
 remote: Compressing objects: 100% (10941/10941), done.
 remote: Total 26253 (delta 20140), reused 20037 (delta 14799)
 Receiving objects: 100% (26253/26253), 38.02 MiB
 Resolving deltas: 100% (20140/20140), done.
  • んで、チェックアウト
# cd node
# git checkout v0.6.2

インストール

# ./configure
  • make に -j●オプションで並列コンパイル。
# make -j8
# sudo yum install

npmのインストール

npmはnode.jsのモジュールインストール・管理をするソフトウェアです。

設定

  • sudoの設定を変更します
# sudo visudo
  • 以下の行を見つけます
 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
  • 以下のように末尾に追記します
 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

ダウンロード&インストール

  • curlで一気にやります
sudo sh curl http://npmjs.org/install.sh
  • あっけないですが以下の表示が出たら成功
 It worked

Websocketモジュールのインストール

インストール

  • ダウンロード&インストールはnmpコマンドで簡単にできます。
# npm install websocket

これで完了。簡単です。

使用ポートの解放

チャットを作ろう

  • サーバとクライアントを実装します。

サーバ側(node.js)ソースコード

クライアント側(HTML)ソースコード

準備

  • echo.js(サーバ)はWebsocketモジュールをインストールしたディレクトリに保存
  • echo.htmlは任意のWebサーバに配置

動作確認

node.jsアプリの起動

node echo.js
  • あるいは実行権限を付けて
# ./echo.js

チャットアプリ

  • Webブラウザを二つ開きecho.htmlを読み込む
  • 片方に書き込んだ文字列がすぐさまもう片方に反映されたら成功!

個人用ツール
名前空間

変種
操作
案内
写真で綴るなにか
ツールボックス
Share