Путаница в программировании сокетов функции getaddrinfo

В getaddrinfo("www.example.net","1234", &hints, &server_info)

Какая польза от hints параметр?

1 ответ

getaddrinfo задокументировано на странице справочника, в которой говорится о параметре hints:

Аргумент hints указывает на структуру addrinfo, которая задает критерии для выбора структур адреса сокета, возвращаемых в списке, на который указывает res. Если hints не равен NULL, это указывает на структуру addrinfo, чьи ai_family, ai_socktype и ai_protocol определяют критерии, ограничивающие набор адресов сокетов, возвращаемых getaddrinfo().

Так что это параметр, который ограничивает результаты на основе заданных критериев. Критерии даны с использованием addrinfo структура:

struct addrinfo {
    int              ai_flags;
    int              ai_family;
    int              ai_socktype;
    int              ai_protocol;
    socklen_t        ai_addrlen;
    struct sockaddr *ai_addr;
    char            *ai_canonname;
    struct addrinfo *ai_next;
};

Вы можете прочитать о каждом из параметров структуры на той же странице руководства.

Другие вопросы по тегам