Python: BottleでWebSocketを試す。

Pythonの軽量WebサーバBottleでWebSocketを試してみました。
環境は、Mac&Python 3.7.3です。

1. BottleでWebSocketするには…

Bottle公式に、BottleでWebSocketするための手段が記載されています。
gevent-websocketが救世主。

Thankfully the gevent-websocket package does all the hard work for us.

Primer to Asynchronous Applications, Bottle 0.12 Docs. より

 

2. インストール

pipを使って(あるいはpipenvで仮想環境上に)、Bottleとgevent-websocketをインストールします。

 

3. サンプルコード

WebSocket対応サーバです。

 

http://localhost:8888/あるいはhttp://localhost:8888/index.htmlにアクセスしたときのレスポンスのために、テンプレートを作成します。

 

4. サーバ起動

次のコマンドでサーバを起動させます。

 

5. Webブラウザでサーバへアクセス

ブラウザでhttp://localhost:8888/へアクセスしました。

Sendボタンをクリックすると、入力欄に入力されている内容messageが、WebSocketを使ってサーバに送信されます。
データを受信したサーバは、受け取ったデータmessageをそっくりそのまま、WebSocketを使ってブラウザに送り返します。
ブラウザは返ってきたデータmessageをページ内に追記します。

入力欄に何か書いてSendボタンのクリックを繰り返すと…
書いた内容がどんどん追加されていきます。

 

以上です。

Leave a Comment

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください