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地址为无效地址文章来源:https://www.toymoban.com/news/detail-404997.html
当然,上面的两个函数可以合并到一起:文章来源地址https://www.toymoban.com/news/detail-404997.html
int ReportIpVersion(char ipString[])
{
byte ipv6Array
到了这里,关于如何根据IP地址判断是IPv4还是IPv6的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!