WebSocketによるクライアント=サーバー通信 (6/7)
作成:2010-12-17 15:21
更新:2010-12-17 15:23
更新:2010-12-17 15:23
■計算をするサンプルを作る
では、簡単な応用例として、計算をするサーバースクリプトを作ってみましょう。「calc_wsh.py」というファイル名で作成し、下のリストを記述してください。
これは、数字を送信すると、1からその数字までの合計を計算して返すものです。入力フィールドに整数の値を書き、送信してみましょう。合計が表示されます。
このサーバースクリプトを利用するには、HTML側のJavaScript部分で、サーバーへの接続部分を、
ここでは、msgutil.receive_messageで受け取った値を整数に変換し、繰り返しを使って合計を計算して、その結果をmsgutil.send_messageで送り返しています。
Pythonを少し勉強すれば、このぐらいのものはすぐに作れるようになります。いろいろとサーバースクリプトが作れるようになると、WebSocketは俄然、その便利さが実感できるようになりますよ。
これは、数字を送信すると、1からその数字までの合計を計算して返すものです。入力フィールドに整数の値を書き、送信してみましょう。合計が表示されます。
このサーバースクリプトを利用するには、HTML側のJavaScript部分で、サーバーへの接続部分を、
socket = new WebSocket("ws://localhost:8800/calc");このように修正しましょう。これで、calcにアクセスするようになります。
ここでは、msgutil.receive_messageで受け取った値を整数に変換し、繰り返しを使って合計を計算して、その結果をmsgutil.send_messageで送り返しています。
Pythonを少し勉強すれば、このぐらいのものはすぐに作れるようになります。いろいろとサーバースクリプトが作れるようになると、WebSocketは俄然、その便利さが実感できるようになりますよ。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
from mod_pywebsocket import msgutil def web_socket_do_extra_handshake(request): pass def web_socket_transfer_data(request): while True: s = msgutil.receive_message(request) n = int(s) total = 0 for i in range(1,n + 1): total = total + i s2 = str(total) msgutil.send_message(request, s2)
※関連コンテンツ
「JavaScriptによるHTML5プログラミング入門」に戻る