問題タブ [asgi]
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.
django - Django Channels アプリの Websocket 接続に失敗する
要点は、Amazon-ec2 インスタンスでチャネルを使用して Django アプリを実行していて、websockets が接続に失敗していることです。
Websockets に関する私のコードのほとんどは、こちらの django-channels チュートリアルからのものです。
トラフィックは、アプリケーション ロード バランサーの背後にある保護された dns 名を介して送信されています。
私はかなり最小限の構成でこれを完全に Daphne (https と websocket トラフィックの両方を処理) で実行しています:
また、 mozilla-django-oidcモジュールを使用して openID-connect で認証しています。ただし、websocket テストでは、認証は期待していません。問題が何らかの方法で websocket 認証に関連している場合は、指摘する価値があると思います。
開発中は、チャネル レイヤーとしてローカルの redis クラスターを実行しています。私の開発アプリ (すべて http:// と ws://) には、websocket への接続に問題はありません。チャット アプリは期待どおりに動作します。WebSocket に接続でき、
ここに asgi.py のコードがあります
および chat/routing.py のコード
本番環境では、チャネル レイヤーとして Elasticache Redis クラスターを使用しています。これを django シェルでテストすると、接続/送信/受信できます。
しかし、プロダクション チャットでは、ルームに到達できないか、上記のWSCONNECTINGメッセージが表示されません。接続を WebSocket にアップグレードすることはありません。その後の次のログは
そのルートを websocket ではなく http として解決しようとしているように。
追加の読み取りを行った後、Daphneで実行されているホスト/ポートを次のように使用しようとしました
これにより、すぐに障害が発生することはありませんでしたが、最終的には接続されませんでした。
websocket url でホスト名として使用されている公開ホスト名と関係があるように感じます。すべてのインバウンド トラフィックが許可されます。これが当面の問題にどのように関係しているかはわかりません。
私はまだこれらすべてを回避する方法を学ぼうとしています。アドバイスをいただければ幸いです。
ありがとう!
django - StreamingHttpResponse の Content-Type: image/jpeg でラップされた RTSP
RSTP ストリームをラップしようとしてStreamingHttpResponse
いて、Django の WSGI サーバーで完全に正常に動作していますが、ASGI アプリでこれを実装する必要があります。
参考までに以下のコード。
ASGI では while True ループのために継続的にロードされますが、WSGI では問題なく動作します。WSGI または ASGI が原因で発生しているかどうかはわかりません。
asgi.py
django - Django StreamingHttpResponseは、djangoチャネルを使用すると動作を停止します
次のコードを使用して、cv2 から画像をストリーミングします。
ビュー.py
stream.html
Django チャネルをプロジェクトに追加すると、StreamingHttpResponse が機能しなくなりました
settings.py :
asgi.py
cv2 から画像をストリーミングし、同時に django チャンネルなどを使用できるソリューションが必要です。ありがとうございます!