Flask-SocketIO を使用してリアルタイム Web アプリケーションを実装する方法
はじめに:
Web アプリケーションの開発に伴い、ユーザーはリアルタイムの対話と即時更新に対する要求がますます高まっています。従来の HTTP プロトコルではこれらのニーズを満たすことができません。WebSocket プロトコルはリアルタイム通信ソリューションを提供します。 Python では、Flask-SocketIO はリアルタイム Web アプリケーションを迅速に実装するのに役立つ強力なライブラリです。この記事では、Flask-SocketIOを使って簡単なリアルタイムチャットルームを構築する方法を紹介します。
準備
まず、Flask-SocketIO ライブラリをインストールする必要があります。 pip コマンドを使用してインストールできます。
pip install flask-socketio
Flask-SocketIO
を構成する Flask アプリケーションで、Flask-SocketIO をインポートして SocketIO を構成します。上記のコードでは、Flask アプリケーションを作成し、SECRET_KEY を設定します。 SECRET_KEY は WebSocket 通信の暗号化に使用され、デフォルトでランダムに生成される文字列です。次に、SocketIO オブジェクトを作成し、Flask アプリケーションに関連付けました。
@socketio.on
デコレーターを使用してイベント ハンドラーを登録します。以下は簡単な例です。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:python;toolbar:false;'>from flask import Flask, render_template
from flask_socketio import SocketIO
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコードでは、最初にルート
を定義し、対応するビュー関数は index.html## という名前の関数を返します。テンプレート。次に、
@socketio.on デコレータを使用して、
message イベントのハンドラを登録します。サーバーは
message イベントを受信すると、
handle_message 関数を呼び出し、メッセージをパラメーターとして渡します。
handle_message 関数は、受信したメッセージを出力し、
socketio.emit メソッドを通じて、接続されているすべてのクライアントにメッセージをブロードキャストします。
という名前のフォルダーを作成し、その中に
という名前のフォルダーを作成します。 html ファイル。簡単な例を次に示します。
@app.route('/') def index(): return render_template('index.html') @socketio.on('message') def handle_message(message): print('received message: ' + message) socketio.emit('message', message, broadcast=True)
上記のコードでは、