1

tcp/ip ソケット ネットワークに関する質問を受けました。基本的にはあります。マルチパケット送信の管理を支援するために利用できる tcp/ip の部分はありますか。たとえば、70 ~ 80 の tcp パケットを使用する 100 mb のバイナリ ファイルを送信したいとします。一方、反対側では比較的高速なポーリング受信があります。私の受信は、各パケットを個別に受信し、パケットごとにデータパケットを「ステッチ」して、到達するサイズを探す必要がありますか(オペコードを見てサイズを決定できます)、またはTCPに「ここに 100 MB を送信します。完了したら連絡してください。」

glib の低レベル ソケット ライブラリ (gsocket) を使用しています。

4

1 に答える 1

0

プロトコル バッファなどのバイナリ エンコーディングを使用する場合、相手側でペイロードをデコードするために必要な情報を含むヘッダーを挿入して、実際のペイロードをラップします。

最初の 4 バイトがエンコードされたメッセージのタイプを示し、次の 4 バイトがメッセージ全体の長さを示す 8 バイトを追加するとします。

受信側では、ペイロードの一部であるこのヘッダーを読み取って、メッセージのタイプと長さを判断します。これにより、複数のメッセージを 1 つのペイロードに結合したり、メッセージを複数のパケットに分割して確実に再結合したりできます。

于 2015-10-13T12:36:28.500 に答える