Привет, я храню все подключенные сокеты в fd_set.Я хочу перебрать сокеты и отобразить IP-адрес.
ZeroMemory(host, NI_MAXHOST);
ZeroMemory(service, NI_MAXSERV);
inet_ntop(AF_INET, &socketAddr.sin_addr, host, NI_MAXHOST);
std::cout << host << " connected on port " << ntohs(socketAddr.sin_port) << std::endl;
if (getnameinfo((sockaddr*)&socketAddr, sizeof(socketAddr), host, NI_MAXHOST, service, NI_MAXSERV, 0) == 0) {
std::cout << host << " connected on port " << service << std::endl;
}
else {
inet_ntop(AF_INET, &socketAddr.sin_addr, host, NI_MAXHOST);
std::cout << host << " connected on port " << ntohs(socketAddr.sin_port) << std::endl;
}
Я использую этот способ для отображения информации, когда присоединяется новый клиент, но, похоже, это не работает при переборе сокетов уже в fd_set.Я новичок в программировании сокетов, и любая помощь будет принята с благодарностью.
Редактировать: удаленный адрес, к которому подключен сокет