zoukankan      html  css  js  c++  java
  • getaddrinfo函数

    一、功能

      对于IPv4和IPv6均适用,可以处理名字到地址以及服务到端口这两种变换,返回的是一个sockaddr结构而不是一个地址队列

    二、函数原型

    #include <netdb.h>
    
    int getaddrinfo(const char *hostname, const char *service, 
                           const struct addrinfo *hints, struct addrinfo **reesult); 
    
        返回:成功为0,出错为非0   

    (1)hostname:是一个主机名或地址串

    (2)service:是一个服务名或十进制端口号数串

    (3)hints:一个空指针或指向某个addrinfo结构的指针,调用者在这个结构中填入关于期望返回的信息类型的暗示

    三、addrinfo结构

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

    四、hints结构中调用者可以设置的成员

     (1)ai_flags;

     (2)ai_family;

     (3)ai_socktype;

     (4)ai_protocol

       其中ai_flags成员可用的标志值及其含义如下:

          

       如果hints参数是一个空指针,getaddrinfo函数就假设ai_flag、ai_socktype和ao_protocol的值均为0,ai_family的值为AF_UNSPEC

    五、getaddrinfo函数及其行为和结果汇总

  • 相关阅读:
    SQL Server需要监控哪些计数器
    将表里的数据批量生成INSERT语句的存储过程 继续增强版
    [Java]
    [Linux] 安装JBoss
    [Spring]
    [Spring]
    [Maven]
    [Maven]
    [Spring MVC]
    [Spring MVC]
  • 原文地址:https://www.cnblogs.com/soldierback/p/10744531.html
Copyright © 2011-2022 走看看