正在将struct类型的变量发送到套接字
对于一个研究项目,我是否可以将struct类型的变量从服务器发送到包含员工信息(ID、薪水等)的客户端,实际上我不太习惯使用C,所以我对这个概念不太清楚。或者告诉我,我可以用什么形式在套接字上发送这些信息 虽然可以传输结构内容,但这可能会导致问题 结构对齐在编译器、目标CPU和CPU版本之间有所不同。此外,需要注意每个结构元素的大小,以使其在整个体系结构中具有一致的大小正在将struct类型的变量发送到套接字,c,sockets,udp,C,Sockets,Udp,对于一个研究项目,我是否可以将struct类型的变量从服务器发送到包含员工信息(ID、薪水等)的客户端,实际上我不太习惯使用C,所以我对这个概念不太清楚。或者告诉我,我可以用什么形式在套接字上发送这些信息 虽然可以传输结构内容,但这可能会导致问题 结构对齐在编译器、目标CPU和CPU版本之间有所不同。此外,需要注意每个结构元素的大小,以使其在整个体系结构中具有一致的大小 struct s { int a; short b; long
struct s {
int a;
short b;
long c;
long double d;
};
虽然大多数工程师都知道,int
可以是16到128位,这取决于目标体系结构,但其他字段的大小也可能因目标而异long double
在最原始的嵌入式CPU上可能相当于float
,在主流架构上可能是64、80或128位
struct s {
int a;
short b;
long c;
long double d;
};
为了解决这些问题,我们开发了一整套解决方案:从完全控制通信链路的两端到将数据转换为XML等流格式。至少,您应该向我们展示您的
struct employee
声明。如果您想与其他体系结构交流,则需要设计(或重复使用)一种比发送字节更高级的序列化机制。我建议您首先决定如何将该信息存储在磁盘上的文件中,然后学习如何通过网络发送相同的表示。最后,你为什么选择UDP?对于传输业务数据来说,它似乎不是一个非常合适的选择;UDP是程序的需求,它是一个基于学习的应用程序