在 C++ 中,我有这样的数据结构:
struct Data
{
int N;
double R;
char Name[20];
};
我必须将这些数据从客户端发送到不同系统上的服务器(我必须发送一组数据结构,但我可以一个一个地发送它)。我想将它作为二进制数据发送,以便我可以在另一端提取数据并将其放入相同的结构类型中。
如果(客户端和服务器)都使用相同的编译器编译,则 sizeof(Data) 和结构中的所有位填充将是相同的。但是由于服务器是运行 Linux 的 64 位,而客户端甚至可以是 32 位窗口,因此 Data 中数据的顺序可能会有所不同。
我对吗?处理这个问题的最佳方法是什么?