我写了一个UDP服务器绑定到端口9995并在本地链接中接收广播数据,但是我发送到和recvfrom的数据是结构类型,而不是char。以下是我的一些代码:
struct Record
{
char vs_ip[16];
char vs_id[20];
char usr_id[20];
};
客户:
struct Record sync_record;
sendto(servfd, (void *)&sync_record, sizeof(struct Record), 0,
(struct sockaddr*)&broadcast_addr, sizeof(broadcast_addr));
服务器:
struct Record recv_record;
memset(&recv_record, 0, sizeof(recv_record));
recvfrom(sockfd, (void *)&recv_record, sizeof(recv_record), 0,
(struct sockaddr*)&cliaddr, &len);
但是当我输出recv_record
时,我有时会得到一些乱码,我真的很困惑,有什么建议吗?再次感谢!