我在用C语言这是一个共同平台对于服务器和客户端。
我有一个特定类型的结构,我想将其从服务器发送到客户端。
For e.g.
服务器代码
//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);
所以,基本上我想将一个结构从服务器发送到客户端。但是从上面的代码中我得到了分段错误,并且我不确定这种结构传输是否可行。还有出路吗?
首先,您必须使用 malloc() 为 struct hostent 分配内存。
您可以通过 sendto()/recvfrom() 传输结构体,但由于 struct hostent 包含指针,因此该结构体中作为指针的成员一旦传输到另一端就没有任何意义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)