Я пытаюсь получить IP-адрес компьютера, который прослушивает сокет, к которому я привязан. Напечатанный номер порта работает нормально, но адрес «0.0.0.0». Вот соответствующий код. res
передано getaddrinfo
и getsockname
до получения этого кода.
char ip[INET_ADDRSTRLEN];
struct sockaddr_in *ipv4 = (struct sockaddr_in *)res->ai_addr;
void* addr = &(ipv4->sin_addr);
inet_ntop(res->ai_family, addr, ip, sizeof ip);
std::cout << "SERVER_ADDRESS " << ip << std::endl;
std::cout << "SERVER_PORT " << ipv4->sin_port << std::endl;
Что может быть не так?