私はネットワークプログラミングでは本当に新しいので、これは完全な初心者質問ではないと思います。
私は少しサーバーを構築する方法のQtのホームページでチュートリアルを読んで、私はthisが見つかりました:クライアントが知っていることの利点は、パッケージがサーバーによってどれくらい送信されたかです。
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out << (quint16)0;
out << "..."; // just some text
out.device()->seek(0);
out << (quint16)(block.size() - sizeof(quint16));
当社QByteArrayの開始時に、我々は含まれています16ビット整数のためのスペースを確保します送信するデータブロックの合計サイズ。 [ランダムなストーリーでストリーミングを続けます。]次に、QByteArrayの先頭に戻り、予約された16ビット整数値を配列の合計サイズで上書きします。 これにより、クライアントは、パケット全体を読み取る前にどれだけのデータが期待できるかを検証する方法を提供します。
この手順の利点は何ですか?あなたがそれをしないとどうなるでしょうか?多少の例を追加することもできます。