問題タブ [multipart-mixed-replace]

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 投票する
2 に答える
2414 参照

http - 境界区切り文字を使用した HTTP サーバー応答の作成

Poco を使用して、クライアントの要求に応じて jpeg フレームを送信する AXIS カメラ Web サーバーをエミュレートしようとしています。

各 Web 応答は、Content-Type: multipart/x-mixed-replace と定義済みの境界でエンコードする必要があります。

どうすればポコでできますか? ありがとう。

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

resteasy - RESTEasy 応答で混合マルチパートを取得するにはどうすればよいですか?

私はresteasyを使用しようとしています。混合マルチパートをリクエストとして Web サービスに送信することはできますが、応答で混合マルチパートを取得することはできません。例: ファイル (byte[] またはストリーム) とファイル名を 1 つの応答で要求する。以下は私がテストしたものです:

サービスコード:

クライアントコード:

出力は次のとおりです。異なるコンテンツ タイプを持つ 2 つの異なるオブジェクトを表示できますが、それらを個別に抽出することはできません。

応答から 2 つのオブジェクトを抽出するにはどうすればよいですか?

アップデート:

さまざまな部分を抽出するために次のアプローチを試しました-「境界」を使用してMultipartStreamを壊します。コンテンツ タイプ文字列を使用して適切なオブジェクトを抽出します。

これは正しいアプローチですか?

更新 2: 上記のロジックは機能しているようです。しかし、Web サービスから RESPONSE を受け取ると、別のブロックが発生しました。そのような問題を処理するための参照がレスポンスで見つかりませんでした。このロジックは、パーツ タイプに対して 1 つのパーツがあることを前提としています。たとえば、応答に 2 つの JSON 部分がある場合、どの部分が何であるかを特定するのは困難です。つまり、レスポンスの作成中にキー名の部分を追加することはできますが、クライアント側でキー名を抽出することはできません。手がかりはありますか?

0 投票する
2 に答える
5530 参照

javascript - XMLHttpRequest での multipart/x-mixed-replace の使用

Multipart/x-mixed-replace は、それぞれ前の部分を置き換える複数の部分を持つコンテンツの MIME タイプです。これは、サーバー プッシュ/リバース ajax/コメットの実装に使用でき、少なくとも Firefox では動作するはずです。これをテストするために、各部分間で遅延を伴う次の出力を生成するサーバーをセットアップしました。

クライアント側では、これは私が Firefox で実行する JavaScript コードです:

各 responseText が前のものを置き換えることを期待していましたが、実際には一緒に追加されているようです。サーバーがより多くの出力を生成するにつれて、responseText のサイズは増加し続けます。最新の交換部品のみを入手する方法はありますか?

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

node.js - nodejs http response.write: メモリ不足の可能性はありますか?

10msごとにクライアントにデータを繰り返し送信する次のコードがある場合:

クライアントがデータを受信するのが非常に遅い場合はどうなりますか?

サーバーでメモリ不足エラーが発生しますか?

編集:実際には接続は維持され、サーバーはjpegデータを際限なく送信します(HTTPマルチパート/ x-mixed-replaceヘッダー+ボディ+ヘッダー+ボディ.....)
node.jsのresponse.writeは非同期で
あるため、一部のユーザーは推測しますデータを内部バッファーに保存し、低レイヤーが送信できることを通知するまで待機する可能性がある
ため、内部バッファーが大きくなります。

私が正しければ、これを解決するにはどうすればよいですか?
問題は、単一の書き込み呼び出しでデータが送信されたときに node.js が通知しないことです。

言い換えれば、この方法は理論的には「メモリ不足」のリスクがなく、それを修正する方法をユーザーに伝えることはできません。


更新: user568109 によって与えられたキーワード「drain」イベントによって、node.js のソースを調査し、結論を得ました:
それは本当に「メモリ不足」エラーを引き起こします。response.write(...)===false の戻り値を確認してから、応答の「ドレイン」イベントを処理する必要があります。

http.js:

0 投票する
0 に答える
212 参照

javascript - ブラウザが multipart/x-mixed-replace MIME タイプをサポートしているかどうかを確認するにはどうすればよいですか?

multipart/x-mixed-replace MIME タイプを使用する必要がある機能をサイトで使用しています。

ブラウザが multipart/x-mixed-replace MIME タイプをサポートしているかどうかを確認するにはどうすればよいですか?

ノート:

ブラウザの検出ではなく、機能の検出を探しています

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

elixir - Elixir/HTTPoison または Hackney でビデオ フローを取得するには?

Elixir / HTTPoison を使用してカムからストリームを取得し、ファイルにダンプしようとしています。URLはxxxx/axis-cgi/mjpg/video.cgi?duration=1&resolution=320x240

DHC(Chromeアドオン)のURLを使用すると、次のことができます:

応答 200 OK

HEADERS Cache-Control: no-cache プラグマ: no-cache Expires: Thu, 01 Dec 1994 16:00:00 GMT Connection: close Content-Type: multipart/x-mixed-replace; 境界= myboundary X-Time-Offset: 62044.312573 pretty COMPLETE REQUEST HEADERS Accept: / Accept-Encoding: gzip, deflate, sdch Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en; q=0.4 Content-Type: application/xml User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/52.0.2743.116 Safari/537.36 注: XHR は Accept などのヘッダーを自動的に追加します。 Accept-Language、Cookie、User-Agent など

本文をそのままフォーマットすると、 --myboundaryで区切られた多くのバイナリ jpeg 画像が表示されます。

--myboundary

コンテンツ タイプ: 画像/jpeg

コンテンツの長さ: 11848

����JFIF�� W�u]7W�u]7�� �2�̎TY"��C

今、私はElixirで同じことをしたいと思っています。

私は次の応答を持っています、

同じ結果で基本認証なしで試しました。

この認証エラーで何が起こっているのかまだわかりません。確かに私は何かを誤解しています。誰かがこの件について私に教えてもらえますか?

敬具、

ピエール

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

node.js - nodejsでマルチパート/混合リクエストを送信する

multipart/mixed 要求を azure Direct Batch Send ( https://msdn.microsoft.com/en-us/library/azure/mt734910.aspx ) に送信しようとしています。npm リクエスト モジュールを使用しています。

どのようなリクエストを作成したいですか :-

私が試したこと:-

最初のアプローチ:-

エラー :- 最初の引数は、文字列、バッファ、ArrayBuffer、配列、または配列のようなオブジェクトでなければなりません

2番目のアプローチ:-

エラー: options.uri は必須の引数です

multipart/mixed request を Azure Direct Batch Send Service に送信するための正しい方法を教えてください。ありがとうございます