美文网首页
UNIX网络编程_第3章_地址转换函数

UNIX网络编程_第3章_地址转换函数

作者: 黑笑小说 | 来源:发表于2017-11-16 10:34 被阅读0次

    地址转换函数在ASCII字符串与网络字节序的二进制值之间转换网际地址。

    inet_pton和inet_ntop函数

    这两个函数是随IPv6出现的新函数,对于IPv4地址和IPv6地址都适用。函数名中p和n分别代表表达和数值。
    地址的表达格式通常是ASCII字符串,数值格式则是存放到套接字地址结构中的二进制值。


    family参数既可以是AF_INET,也可以是AF_INET6。如果以不被支持的地址族作为family参数,这两个函数就都返回一个错误,并将errno置为EAFNOSUPPORT。

    第一个函数尝试转换由strptr指针所指向的字符串,并通过addrptr指针存放二进制结果。若成功return 1,否则如果对所指定的family而言输入的字符串不是有效的表达格式,那么返回值为0。
    第二个函数执行相反的转换,从数值格式转换为表达格式。len参数是目标存储单元的大小,以免该函数溢出其调用者的缓冲区。为有助于指定该大小,在<netinet/in,h>头文件中有如下定义,


    如果len太小,不足以容纳表达格式的结果(包括结尾的空字符),那么返回一个空指针,并置errno为ENOSPC。
    调用者必须为第二个函数的strptr分配内存单元。

    相关文章

      网友评论

          本文标题:UNIX网络编程_第3章_地址转换函数

          本文链接:https://www.haomeiwen.com/subject/zszkvxtx.html