套接字编程混淆getaddrinfo函数

时间:2015-01-25 21:32:22

标签: c network-programming getaddrinfo

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

hints参数的用途是什么?

1 个答案:

答案 0 :(得分:1)

getaddrinfo记录在man page中,其中有关于提示参数的说法:

  

hints参数指向指定的addrinfo结构   选择返回的套接字地址结构的标准   res指出的列表。如果提示不为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;
};

您可以在同一手册页上阅读结构的每个参数。