Это может быть совершенно нормальным.
Если бы я ничего не знал о UDT, то я бы предположил, что "подсказки", скорее всего, являются экземпляром addrinfo и используются в качестве второго параметра getaddrinfo ()
Если код просто пытается получить IP-адрес сервера (то есть поиск DNS), то он должен передать что-то в структуру подсказок для socktype. В противном случае результат getaddrinfo, вероятно, будет возвращать в 3 раза больше результатов. Один результат для SOCK_STREAM, другой для SOCK_DGRAM и третий для SOCK_RAW. Но член ai_addr для каждого будет иметь один и тот же адрес.
Теперь я взял пик UDT . Никогда не слышал об этом до сих пор. Но он, похоже, имеет некоторый код, который выполняет некоторые вещи SOCK_STREAM и использует getaddrinfo в качестве формального способа инициализации sockaddr для последующего TCP-соединения.
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_flags = AI_PASSIVE;
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
UDTSOCKET fhandle = UDT::socket(hints.ai_family, hints.ai_socktype,hints.ai_protocol);
if (0 != getaddrinfo(argv[1], argv[2], &hints, &peer))
{
cout << "incorrect server/peer address. " << argv[1] << ":" << argv[2] << endl;
return -1;
}
// connect to the server, implict bind
if (UDT::ERROR == UDT::connect(fhandle, peer->ai_addr, peer->ai_addrlen))
Но вам придется спросить разработчиков UDT, о чем все это.