Концептуальный запрос с помощью метода Getaddrinfo - PullRequest
0 голосов
/ 22 ноября 2011

При использовании метода getaddrinfo я предоставляю IP-адрес и номер порта.Я получаю связанный список в переменной out.Работает нормально.Но у меня есть концептуальное сомнение здесь.Когда я даю IP-адрес и порт, как получается, что возвращается так много возможных сокетов?Разве не должно быть только одного?

1 Ответ

0 голосов
/ 22 ноября 2011

со страницы руководства getaddrinfo:

Существует несколько причин, по которым в связанном списке может быть несколько структура addrinfo, в том числе: сетевой узел является многосетевым, доступный по нескольким протоколам (например, AF_INET и AF_INET6); или один и тот же сервис доступен из нескольких типов сокетов (один Адрес SOCK_STREAM и другой адрес SOCK_DGRAM, например). Обычно приложение должно пытаться использовать адреса в порядке в котором они возвращаются. Функция сортировки, используемая в getaddrinfo () определено в RFC 3484; заказ может быть изменен на конкретная система, отредактировав /etc/gai.conf (доступно с glibc 2.5).

...