WebSocketによるクライアント=サーバー通信 (2/7)
作成:2010-12-17 14:03
更新:2010-12-17 14:13
更新:2010-12-17 14:13
■Pythonと、pywebsocket
では、WebSocketを利用するための準備を整えましょう。WebSocketを利用するためには、専用のサーバーが必要になります。これは既にいくつか登場しているのですが、インストールや設定、使い方などが難しかったりすることが多いのです。
特に、WebSocketを利用するためにはサーバー側にもプログラムを用意しないといけないため、そちら側のプログラムを簡単に作れないと使いこなせません。そうしたもろもろのことを検討した上で、ここでは「pywebsocket」というものを使ってみることにします。
このpywebsocketは、スクリプト言語「Python」を使って作られたWebSocketサーバーです。これは現在、Google Codeサイトにてプロジェクトが公開されています。
このpywebsocketは、Apache HTTP ServerでPythonを使えるようにするための「mod_python」と呼ばれる拡張機能を利用してWebSocketサーバーの機能を実現するためのものです。ただし、ちょっと動かすだけなら、Apacheサーバーもmod_pythonも必要ありません。pywebsocketだけでサーバーを起動してプログラムを動かすことができます。
ただし、そのためにはPythonがインストールされていないといけません。これは、以下のアドレスから入手してください。
さて、pywebsocketは、スタンドアロンで実行するためのスクリプトを持っています。展開したフォルダを開くと「src」フォルダがあり、その中に「mod_pywebsocket」というフォルダが見つかるはずです。これが、pywebsocketの本体になります。この中にある「standalone.py」というファイルを実行すると、WebSocketサーバーが起動します。起動は、コマンドプロンプトを開き、以下のように実行をします。
といっても、まだサーバー側に全く何のプログラムもないので、何かスクリプトを用意しましょう。pywebsocketには、簡単なサンプル(メッセージを送信すると、そのままメッセージが返ってくる、というだけのもの)があるので、これを利用しましょう。
今回は、このexampleフォルダを指定してサーバーを起動しますので、サンプルで作るHTMLページも、自分で作るスクリプトも、この「example」フォルダの中に保存をします。もし、別にフォルダを用意して使いたければ、サーバーを起動する命令にある「-d」のフォルダパスを変更してください。
特に、WebSocketを利用するためにはサーバー側にもプログラムを用意しないといけないため、そちら側のプログラムを簡単に作れないと使いこなせません。そうしたもろもろのことを検討した上で、ここでは「pywebsocket」というものを使ってみることにします。
このpywebsocketは、スクリプト言語「Python」を使って作られたWebSocketサーバーです。これは現在、Google Codeサイトにてプロジェクトが公開されています。
http://code.google.com/p/pywebsocket/まずは、ここにアクセスし、「download」リンクから最新のバージョンをダウンロードして下さい。「mod_pywebsocket-バージョン.tar.gz」といった圧縮ファイルで配布されています。これを展開し、適当なところにはいちしておきます。
このpywebsocketは、Apache HTTP ServerでPythonを使えるようにするための「mod_python」と呼ばれる拡張機能を利用してWebSocketサーバーの機能を実現するためのものです。ただし、ちょっと動かすだけなら、Apacheサーバーもmod_pythonも必要ありません。pywebsocketだけでサーバーを起動してプログラムを動かすことができます。
ただし、そのためにはPythonがインストールされていないといけません。これは、以下のアドレスから入手してください。
http://www.python.org/download/releases/ここで、今までのバージョンがひと通り用意されています。注意して欲しいのは、「インストールするのは、2.5.xのPython」という点です。pywebsocketは、Python 2.5を使っているのです。Pythonは、バージョンによってかなり内容が変わるため、それより古いものでも、新しいものでも問題を起こす可能性があります。
さて、pywebsocketは、スタンドアロンで実行するためのスクリプトを持っています。展開したフォルダを開くと「src」フォルダがあり、その中に「mod_pywebsocket」というフォルダが見つかるはずです。これが、pywebsocketの本体になります。この中にある「standalone.py」というファイルを実行すると、WebSocketサーバーが起動します。起動は、コマンドプロンプトを開き、以下のように実行をします。
cd pywebsocketのフォルダパス2~3行目部分は、1行につなげて書いてください。(……standalone.py -p ポート番号…… という具合につなげる)。これでpywebsocketのサーバーが起動します。
python src/mod_pywebsocket/standalone.py
-p ポート番号 -d スクリプトフォルダのパス
といっても、まだサーバー側に全く何のプログラムもないので、何かスクリプトを用意しましょう。pywebsocketには、簡単なサンプル(メッセージを送信すると、そのままメッセージが返ってくる、というだけのもの)があるので、これを利用しましょう。
python src/mod_pywebsocket/standalone.pyこのようにしてスクリプトを実行してください。「example」フォルダの中に「echo_wsh.py」というスクリプトファイルがあります。これがサンプルのスクリプトです。このスクリプトを、ここでは8800版ポートで実行することにします。
-p 8800 -d src/example
今回は、このexampleフォルダを指定してサーバーを起動しますので、サンプルで作るHTMLページも、自分で作るスクリプトも、この「example」フォルダの中に保存をします。もし、別にフォルダを用意して使いたければ、サーバーを起動する命令にある「-d」のフォルダパスを変更してください。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「JavaScriptによるHTML5プログラミング入門」に戻る