以下是我需要放入缓冲区以通过TCP发送的基本类结构:
class PrimitiveCollection
{
std::vector<Primitive*> primitives;
};
class Primitive
{
PRIMTYPES primType; // PRIMTYPES is just an enum with values for fan, strip, etc...
unsigned int numVertices;
std::vector<Vertex*> vertices;
};
class Vertex
{
float X;
float Y;
float Z;
float XNormal;
float ZNormal;
};
我正在使用 Boost 库以及他们的 TCP 功能... 它相当容易使用。您只需填充缓冲区并通过 TCP 发送即可。
然而,这个缓冲区的大小是有限制的,我可能需要发送多达 2 兆字节的数据。
那么,在将上述类结构放入所需的缓冲区并通过网络发送之前,最好的方法是什么?接收端也需要进行反序列化。
在此方面,如果 Boost 有任何可以在某种程度上抽象化此问题的东西,不妨提供一些指导。
编辑:再次阅读此内容后,我意识到这实际上是一个更普遍的问题,不特定于 Boost… 更准确地说,这是将数据分块并发送的问题。尽管如此,我仍然很想知道 Boost 是否具有可以在某种程度上抽象化此问题的工具。