私は本当にこれに頭を悩ませているので、誰かが私を正しい方向に向けることができるかもしれません:
Web アプリケーションに python (django フレームワーク) を使用しており、ブラウザーからチャンクされたバイナリ データを受け取る追加の Web ソケット サーバーがあります。python-requests ライブラリを使用して、これらのチャンクを別のサーバーに送信 (またはストリーミング) したいと考えています。
公式ドキュメントによると、データ属性としてジェネレーターを提供する必要があります。
arr = []
def streamer():
global arr
for i in arr:
yield i
#lets say this function will get called when a "stream-start" message is sent to the web-socket server
def onStart():
resp = requests.post("http://some.url/chunked", data=streamer())
#lets say this function will get called when a chunk of binary data is sent to the web-socket server
def onChunk(chunk):
arr.append(chunk)
arr
このシナリオでは、リクエストを送信するときに が空であるため、どうすれば何かを送信できるでしょうか。すべてのチャンクが送信されるように、接続を開いたままにするにはどうすればよいですか?
ストリーミング全般について理解できない大きな問題があると思います。したがって、実際の問題を解決するためのヒントに加えて、チュートリアルの推奨事項やこのテーマに関する良い読み物もいただければ幸いです。