如何根据IP地址判断是IPv4还是IPv6
- 互联网
- 2025-08-19 23:06:01

IPv4地址的书写形式为:“192.168.0.1”
IPv6地址的书写形式为:“2001:DB8:85A3:8D3:1319:8A2E:370:7344”
给你一个IP地址,它有三种可能:IPv4、IPv6、既不是IPv4也不是IPv6的无效地址。所以,如果用函数ipGetAddressAsNumber,只能判断是不是ipv4,编写如下函数:
int ReportIpv4Version(char ipv4String[]) { dword ipNumber; ipNumber = ipGetAddressAsNumber(ipv4String); if (ipNumber == 0xFFFFFFFF) return 1; else return 0; }如果用函数ipGetAddressAsArray,只能判断是不是ipv6,编写如下函数:
int ReportIpv6Version(char ipv6String[]) { byte ipv6Array[16]; dword res; res = ipGetAddressAsArray(ipv6String, ipv6Array); if (res == 0xFFFFFFFF) return 1; else return 0; }所以,如果想判断IP地址是IPv4还是IPv6,可以分别调用上面的两个函数,哪个返回值为1,说明是哪种IP类型。如果都是0,说明此IP地址为无效地址
当然,上面的两个函数可以合并到一起:
int ReportIpVersion(char ipString[]) { byte ipv6Array如何根据IP地址判断是IPv4还是IPv6由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“如何根据IP地址判断是IPv4还是IPv6”
上一篇
植物大战二叉搜索树——C++