問題タブ [http-chunked]

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.

0 投票する
1 に答える
447 参照

swift - Swift Vapor で非同期的に作成されたボディ チャンクを使用してレスポンス ボディを生成する方法

Swift Vapor フレームワークを調べています。

SSL リンクで取得したデータをサード パーティのシステム (Asterisk PBX サーバー..) にマップするコントローラー クラスを作成しようとしています。応答本文は、クライアントに送信されます。

したがって、「完全な応答」が構築されるのを待たずに、受信したテキスト行 (SSL 接続で個別に取得) を受信時に送信する必要があります。

この例を見ると:

それが道なのかもしれないと思いました。

しかし、Vapor サーバーに接続していると、REST 呼び出しがループの完了を待ってから、結果として 3 つの行が受信されることがわかります。

最初にループが完了するのを待たずに、chunker.send(name) の文字をクライアントに送り返すようにするにはどうすればよいですか?

実際のコードでは、コントローラー メソッドは、クライアントへの HTTP 接続を長時間開いたままにして、アスタリスク アクティビティ データを取得するとすぐにクライアントに送信する可能性があります。したがって、各 .send(name) は実際には、最後の .close() 呼び出しを待たずに、すぐにデータをクライアントに渡す必要があります。

try chunker.flush() を追加しても、より良い結果は得られませんでした..