我生成一个像这样的字符串:
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)发送的大量数据吗?我可以将数据拆分成块,但我想避免这样做。
答案 0 :(得分:1)
RakNet自动将数据包分解为UDP的理智大小,介于574和1492字节之间。
这称为MTU大小。会计可靠性标题或字符串序列化膨胀,
CREATE TABLE MyTable (
Id INT NOT NULL IDENTITY(1,1) PRIMARY KEY
,UniqueId UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()
,...Other columns
);
我建议将可靠性类型设置为RELIABLE_ORDERED
,以确保数据包按顺序到达。
来源:RakNet手册&amp; doxygen,尤其是a certain page