2017-12-03 19 views
1

私はwebsocket接続を聞いて、まれなREST要求をするアプリケーションを書いています。 aiohttpはこれのための自然な選択のように思えますが、私は柔軟です。このアプリはシンプルですが、信頼性が必要です(データ損失を最小限に抑えながら、毎日収集するデータのギガバイト)。aiohttp websocketのための自動接続

aiohttpで接続損失を処理する最善の方法は何ですか?他のいくつかのPythonライブラリには、自動再接続オプションが用意されています。 aiohttpを使って、私はいつも手動でループを実装することができます(接続が失われるとすぐにやり直してください)が、何がベストプラクティスであるのかわかりません(ループで遅延なく再接続を試みてもかまいませんか? 。

答えて

0
  1. aiohtpは相対的に低いレベルのライブラリであり、その上に自動リコネクションを構築する必要があります。
  2. WebSocket接続はaiohttpで非ブロック操作です。
  3. 信頼性の高いWebソケット再接続は簡単な作業ではありません。たぶんあなたは、どのデータがピアによって受信されたのか、それとも、それが依存しているのかを知る必要があります。最初のケースでは、肯定応答などを送信するために平らなWebSocketの上にいくつかの高水準プロトコルが必要です。
+0

1)私はREST要求にaiohttpを使用し、Webソケットには高レベルライブラリを使用できます。 3)私はping/pongを使うことができます。しかし、私の質問は、損失が検出されたときに何をすべきかということです:私はaiohttpを使用する場合、私は私自身の再接続を書く必要があるように見えます。 – jam123

+0

はい、正確です。 aiohttpには再接続機能がありません。ライブラリの範囲外です。 –

関連する問題