Как сделать, чтобы ai_addr и что использовали ставили в addrinfo?
Я обрабатываю небольшой проект в эти дни
Я получаю некоторые проблемы, когда я пытаюсь сделать addrinfo.
Вы знаете, у структуры addrinfo есть некоторый параметр:
struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
ares_socklen_t ai_addrlen;
char *ai_canonname;
struct sockaddr *ai_addr;
struct addrinfo *ai_next;
}
Я имею в виду, что мне нужно сделать sockaddr(тип IPv4) в addrinfo.
Это мой код, что я пытаюсь:
addrinfo* nai = (struct addrinfo *)malloc(sizeof(struct addrinfo) + 16);
memset(nai->ai_addr, 0, 16);
nai->ai_addrlen = 16;
nai->ai_addr->sa_family = nai->ai_family;
nai->ai_flags = AI_ADDRCONFIG;
nai->ai_family = AF_INET;
nai->ai_socktype = SOCK_DGRAM;
nai->ai_protocol = IPPROTO_UDP;
nai->ai_canonname = NULL;
naddr = (struct sockaddr_in *)nai->ai_addr;
inet_aton("192.168.0.1", &(naddr->sin_addr));
Я хочу создать новый тип ipv4 addrinfo. PLZ Помоги мне:-)