Я написал привязку UDP-сервера к порту 9995 и получил широковещательные данные по локальной ссылке, но данные, которые я отправляю и получаю, имели тип struct , а не 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
, я иногда получаю какой-то грязный код, я действительно запутался, какие-нибудь предложения? Еще раз спасибо!