0

次のような文字列を生成します。

std::string str = "";
str += std::to_string(MapSize);

for (int x = 0; x < MapSize; x++) {
    for (int z = 0; z < MapSize; z++) {
        str += " ";
        str += std::to_string(x);
        str += " ";
        str += std::to_string(heights[x][z]);
        str += " ";
        str += std::to_string(z);
    }
}

高さデータの量は MapSize^2 です (MapSize は通常 256x256 です)。しかし、質問は、これは RakNet (UDP) を介して送信するのに妥当な量のデータですか? データをチャンクに分割することはできますが、それは避けたいと思います。

4

1 に答える 1

1

RakNet は、パケットを UDP 用に適切なサイズ (574 から 1492 バイトの間) に自動的に分割します。これは MTU サイズと呼ばれます。信頼性ヘッダーまたは文字列のシリアライゼーションの肥大化を考慮する と、パケットが確実に順番に到着するように、 256x256/574=115 packets minimum 256x256/1492=44 packets minimum 信頼性タイプを に設定することをお勧めします。RELIABLE_ORDERED

出典: RakNet マニュアル & doxygen、特に特定のページ

于 2017-08-15T20:39:08.543 に答える