繁体   English   中英

通过C中的套接字发送结构

[英]Sending a structure over socket in c

我正在编写一个在c中使用套接字编程的程序。

在此程序中,客户端和服务器将继续发送和接收数据。

当我使用这种代码通过套接字发送和接收整数时

//in the program sending data
int data;
len= send(s,(char *)&(data),sizeof(data),0);

//in the program receiving data
int num;
len = recv(s,&num, sizeof(num) , 0);

上面的代码工作正常,我能够发送和接收号码。

在一种情况下,我试图发送表单的结构

struct sample{
int num;
char chain[10*hops+10];
};

//in the program sending data
struct sample s1;
len= send(s,(char *)&(s1),sizeof(s1),0);

//in the program receiving data
struct sample s2;
len = recv(s,&s2, sizeof(s2) , 0);

在我尝试发送和接收结构的示例中,它不起作用。 如何成功发送和接收结构?

注意:1)Hops是一个预定义的变量,两个程序的Hops值相同。 2)不工作,我的意思是:当我收到结构体并在num中打印值时。 它打印的值不相同,但为零!

如果您要发送该结构,则必须使用序列化和反序列化,请阅读有关内容,可以从以下内容开始:

通过套接字发送结构时的序列化问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM