我想从我的客户端程序发送一个结构到服务器程序(我正在写服务器和客户端程序)。此外,万一重要的是我写在一个32位的操作系统Linux上,客户端和服务器都将运行在相同的系统上。这里是我的结构:通过套接字客户端服务器通信
struct msg_to_server {
int type_of_msg;
int type;
int flag;
int pid;
char name[MAX_WORD];
char client_name[MAX_WORD];
int child_timeout;
int numberKilled;
};
我知道,如果我送一个int我需要使用htonl(INT)的无符号整数从主机字节顺序转换成网络字节顺序,但什么我的情况下,做的结构? 任何帮助将不胜感激。
该溶液可以是脆弱的,即使发送者和接收者是相同的硬件和操作系统:例如如果发送程序使用与接收程序不同的编译器设置进行编译,那么相同的结构可能在两个系统上具有不同的内存布局,这样接收器上的字节就会有不同的解释。 – 2012-04-08 21:12:10
是的,这就是为什么我说“至少”。在两台机器之间发送数据时需要考虑许多可能的问题。不过,在受控环境下解决起来相当容易。 – 2012-04-08 21:16:21
谢谢你们两位。这些是有益的评论。我不知道。 – 2012-04-09 01:51:40