gpt4 book ai didi

c - 使用 recvfrom() 和 sendto() 发送结构

转载 作者:太空狗 更新时间:2023-10-29 15:45:40 25 4
gpt4 key购买 nike

我正在使用 C 语言,它是服务器和客户端的通用平台

我有一个特定类型的结构,我想从服务器发送给客户端。

例如

服务器代码

 //necessary declarations

struct hostent *hp;

hp=gethostbyname("www.google.com");

sendto(sockDes,&hp,sizeof(hp),0,(struct sockaddr *)&cli_addr,sizeof(cli_addr));

客户端代码

struct hostent *hp;

msg=recvfrom(mysock,&hp,sizeof(hp),0,(struct sockaddr)&serv_addr,&size_len);

所以,基本上我想从服务器向客户端发送一个结构。但是从上面的代码中我得到了 segmentation faults ,我不确定这样的结构转移是否可行。有什么出路吗?

最佳答案

首先,您必须 malloc() 以便为 struct hostent 分配内存。您可以通过 sendto()/recvfrom() 传输一个结构,但是由于 struct hostent 包含指针,因此该结构的指针成员一旦被传输到另一端就没有任何意义。

关于c - 使用 recvfrom() 和 sendto() 发送结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1229321/

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