gpt4 book ai didi

c - 在c中通过套接字发送结构

转载 作者:可可西里 更新时间:2023-11-01 02:54:27 26 4
gpt4 key购买 nike

我正在编写一个使用 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中打印值时。它打印的不是相同的值而是零!

最佳答案

如果您尝试发送必须使用序列化和反序列化的结构,请阅读相关内容,您可以从:

Serialization issues while sending struct over socket

关于c - 在c中通过套接字发送结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com