背景フラスコ:RESTfulなAPIとSocketIOサーバー
Iは、フラスコ、RESTfulな拡張機能を使用して単純なREST APIを作成しようとしています。このAPIは、主にシンプルなサービスのCRUDとユーザー認証を管理するために機能します。
また、Flask-SocketIO拡張機能を使用していくつかのWebソケットを作成しようとしています。これらのユーザーは、このサービスを使用している他の人に関連する一部のデータのリアルタイムアップデートを参照することができます。したがって、私はこれらのユーザーが認証され、特定のソケットに接続する権限があることを知る必要があります。
問題
しかし、私はトラブルのビットが設定さばかり抱えています。これらの2つのコンポーネント(REST APIとSocketIOサーバー)を同じFlaskインスタンスで一緒に動作させることはできないようです。理由私は、私は次のことを実行すると、REST APIまたはSocketIOサーバーのいずれかが動作しますので、これは、両方ではないと言う:
from flask import Flask
from flask_restful import Api
from flask.ext.socketio import SocketIO
app = Flask(__name__)
api = Api(app)
socketio = SocketIO(app)
# some test resources for the API and
# a test emitter statement for the SocketIO server
# are added here
if __name__ == '__main__':
app.run(port=5000)
socketio.run(app, port=5005)
質問
は、このタイプの典型的なソリューションです。 Flaskの2つの異なるインスタンスが同時に実行されるようにセットアップしますか?例えば、私のSocketIOサーバーは、特定のユーザーが特定のソケットに接続するために認証されているかどうかを確認するために、REST APIに要求を出す必要がありますか?
あなただけ*場合* 'socketio.run(アプリ、ポート= 5005)'を使用し、ポート5005上のREST APIをヒットしよう?どうなりますか正常に動作し、いくつかの理由から、 –
@SeanVieira ...私はちょうど同じポートで、その後 – nmagerko