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プログラミング入門」に戻る