問題タブ [flask-socketio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - スーパーバイザーの再起動と FlaskSocketIO への影響
私index.html (HTML/Javascript)
は持っています:
私Server
は持っています:
ログイン後、設定session['venue_id'] = True
して に移動しindex.html
ます。私が得る出力は次のとおりです。
私の質問:最初の実行後、index.html
ページを開いたままにstop
しstart
、プロジェクトをsupervisor
. この時点で、なぜ上記と同じ出力が得られるのでしょうか? initial connect
の後に,venue_id
が削除されてsession
呼び出されると思っていたrequest.namespace.disconnect()
でしょうか?
誰かがここでの一連の出来事を説明してくれませんか?
ありがとう
javascript - WebSocket 接続の再作成
私は現在connections
自分のwebsocket
.
私のあるページには次のapp
ものがあります:
この後、receive
いくつかdata
を通過してsocket
から、別のページに移動します。この 2 番目のページが実行された後、もう一度最初のページに戻り、socket
上記のコードが再度実行されます。
これが何らかの問題を引き起こすかどうか疑問に思っていますか?複数回作成されないconnect
ように、早い段階で試してみるべきですか?connection
もしそうなら、socket
変数を渡すことは可能javascript
ですか?
で使用flask-socketio
していserver
ます。
ご協力いただきありがとうございます。
python - Werkzeug 付きフラスコソケット
私の古いコードでは、werkzeug run_simple を使用してアプリケーションを実行しています。ここで、socketio を使用する必要があります。run_simple() を socketio.run() に変更するにはどうすればよいですか。
私の古いコード:
私は試した:
しかし、うまくいきませんでした。誰でも私を助けてください!
python - Flask: RESTful API と SocketIO サーバー
バックグラウンド
Flask-RESTful 拡張機能を使用して単純な REST API を作成しようとしています。この API は、主に単純なサービスの CRUD とユーザーの認証を管理するために機能します。
また、Flask-SocketIO 拡張機能を使用していくつかの Web ソケットを作成しようとしています。これらのユーザーは、これらのユーザーが接続して、サービスを使用している他のユーザーに関連するデータのリアルタイム更新を確認できます。そのため、これらのユーザーが認証され、特定のソケットへの接続が許可されていることを知る必要があります。
問題
とはいえ、設定に少々手こずっています。これら 2 つのコンポーネント (REST API と SocketIO サーバー) を同じ Flask インスタンスで連携させることができないようです。これを言う理由は、次を実行すると、REST API または SocketIO サーバーのいずれかが機能しますが、両方は機能しないためです。
質問
このタイプのセットアップの典型的な解決策は、Flask の 2 つの異なるインスタンスを同時に実行することですか? たとえば、SocketIO サーバーは、特定のユーザーが特定のソケットに接続するために認証/承認されていることを確認するために、REST API にリクエストを送信する必要がありますか?
angularjs - Flask + Flask-SocketIO は、Ionic クライアントからのリクエスト時にルートに対して 404 を返します
私はリアルタイムのチャットと写真共有のアプリケーションに取り組んでいます。サーバー側として Flask を使用して RESTful Web サービスを構築し、Ionic フレームワーク (AngularJS) を使用してモバイルでクライアントを構築しています。
ユーザーの新しいフィードを返す Web サービス エンドポイント [GET] /feeds/user_id があります。次のコード行を使用してアプリを初期化すると、localhost とモバイルで実行されているアプリケーションの両方からデータを正しく取得できます。
リアルタイム チャットでアプリをビルドするときは、Flask-SocketIO を使用し、公式ドキュメントで指定されているように、アプリを初期化する方法を以下の方法に変更します。
ただし、上記の初期化方法ではモバイルアプリからデータを取得できません。サンプル ログの 1 つを次に示します。
ただし、同じリンクを使用して、ローカルホストと同じネットワーク内の別のマシンからデータを取得できるため、サーバーがすべてのパブリック IP をリッスンしていると確信しています。ファイアウォールも無効にしました。
以下の私のコードスニペット:
どんな助けでも大歓迎です!
更新: app.run() のみを使用すると、ログは次のようになります。
Miguel が述べたように、これは奇妙なログですが、Flask の堅牢性のおかげで機能します。
また、iOS でアプリを実行しようとしましたが、これは完全に正常に動作します。今、私はそれが Android プラットフォーム上の Ionic フレームワークの問題であるか、単に私のデバイス上にあると考えています。私の端末は Nexus 7 Gen 1 で、Android 5.1.1 を実行しています。
javascript - Flask SocketIO - CORS の問題
Flask-SocketIO を使用して、websocket 機能をアプリケーションに追加しようとしています。
私のアプリケーション アーキテクチャは大きく分離されているため、WebSocket を処理するために別のサーバー セットを使用したいと考えています。ただし、私のテストでは、ポートが異なるだけで同じサーバーを使用しています。
JavaScriptで接続しようとすると:
エラーが発生します:
これを軽減するために、CORS をいくつか実行し、crossorigin
ここで定義したものを追加しました: http://flask.pocoo.org/snippets/56/
上記のWebページにあるものから変更していないため、デコレーターのコードは投稿しません。
そして、エンドポイントでデコレータを使用しました:
私も試しました:
そして、/socket/ エンドポイントをロードする HTTP 応答ヘッダーで、ヘッダーを確認できます。
しかし、それでも CORS エラーが発生します。誰でもアイデアはありますか?:)
flask - フラスコソケティオとフラスコスクリプトを統合するにはどうすればよいですか
ここでは、ミゲルグリンバーグの例に従っています。実行すると問題なく動作します。私はherokuに提出しましたが、うまく動作します。ただし、flask-script と統合しようとすると、次のエラーが発生します。
ファイル "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/flask_socketio/ init .py", 27 行目、呼び出し で Raise RuntimeError('You need to use a gevent-socketio server .') RuntimeError: gevent-socketio サーバーを使用する必要があります。
私が統合している方法は、このコードを使用することです: