Я пытаюсь получить IP-адрес устройства, которое прослушивает сокет, который я связал. Номер порта, который печатается, работает нормально, но адрес «0.0.0.0». Вот соответствующий код. res
был отправлен до getaddrinfo
и getsockname
, прежде чем перейти к этому коду.Проблема с BSD Socket: inet_ntop return "0.0.0.0"
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;
Что может быть неправильным?