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相关推荐

  1. 以马原的视角浅谈IP地址的发展——IPv4、IPv6、NAT

    文章写的有点长,核心就是介绍IP地址的原理,以及NAT有好处也有坏处,IPv6相比较IPv4也是有好处和坏处,感兴趣的可以往最后划. 以马原的视角浅谈IP地址的发展--IPv4.IPv6.NAT IP ...

  2. MySql存储IP地址(兼容ipv4和ipv6)

    MySql存储IP地址(兼容ipv4和ipv6) 最近项目涉及到IP白名单的问题,需要设计表来存储IP地址,网上的方法针对IPV4和IPV6用什么类型存储也没有个统一的答案(都是抄来抄去....) 1 ...

  3. 查询电脑手机出口公网IP地址(含IPv4和IPv6)

    百度搜ip有时候查到的公网出口ip地址不准确,找到一个比较准的.IPv4和IPv6出口地址都可以查,分享一下. 1)查询当前上网使用的出口IP. http://dns.ricearth.com/ip ...

  4. linux修改永久ip地址,centos设置IP地址,永久修改ipv4

    # ifconfig   #查看下本机的IP地址. eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C inet addr:192.168.0.3 Bc ...

  5. php 判断 ip 城市,利用PHP怎么根据IP地址判断城市

    利用PHP怎么根据IP地址判断城市 发布时间:2020-12-25 16:11:48 来源:亿速云 阅读:89 作者:Leah 这期内容当中小编将会给大家带来有关利用PHP怎么根据IP地址判断城市,文 ...

  6. Java根据IP地址判断客户端属于哪个国家或地区

    欢迎大家关注我的公众号[老周聊架构],Java后端主流技术栈的原理.源码分析.架构以及各种互联网高并发.高性能.高可用的解决方案. 腾讯.新浪.淘宝都有相应的调用接口,这里我用的是淘宝第三方的接口. ...

  7. Java根据IP地址/掩码位(CIDR)和起始IP-终止IP计算网段(IPV4和IPV6)

    Java根据IP地址/掩码位(CIDR)和起始IP-终止IP计算所有IP地址(IPV4和IPV6) 计算IP列表 IPV4 IPV6 IP校验 IPV4 IPV6 计算IP列表 IPV4 1.需要的j ...

  8. C语言IP地址比较(IPv4/IPv6)

    注:下文的测试案例都是在Linux(Ubuntu 14.04)平台上测试通过 IP地址转换函数 在比较IP地址之前需要将其转换为网络字节序的二进制整数,常用的转换函数是 inet_pton() int ...

  9. 根据IP地址判断客户端属于哪个国家或地区

    在服务器端,经常会统计服务器上的资源被哪些国家或者地区访问的比较多,但我们唯一能记录的只有客户端下载时的ip地址,那我们怎么通过ip地址得到客户所在的国家或地区名呢?下面作以详解: 1.获取客户ip地 ...

最新文章

  1. Openstack数据库初始化时为何要重复授权
  2. Uva 10305 给任务排序
  3. ASP.NET MVC 音乐商店 - 7.成员管理和授权
  4. Centos 下添加开机自启动服务和脚本
  5. python中sin函数在哪个模块中_从零开始第5步:Python 函数和模块
  6. Dinic算法----最大流常用算法之一
  7. 在Asp.net网页中使用接口
  8. python转换函数使用_Python Socket模块中的IP转换函数
  9. Exchange Server 2016 独立部署/共存部署 (四)—— 配置DAG(上)
  10. python3导入模块原理_python模块导入原理
  11. 5.1 Attention(注意力)概述 原理、作用、计算流程
  12. 梦笔记20211017
  13. post请求测试软件,简单的Http请求测试工具(支持get,post)
  14. Java中ThreadLocal详解
  15. 神奇代码岛BOX获500万美元天使轮融资 构建编程少年元宇宙
  16. Static Asynchronous Component Misuse Detection for Android Applications
  17. 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
  18. N32G457VEL7移植FreeRTOS代码
  19. Coreldraw绘画看了这个才算是真正明白了什么叫绘图
  20. 文字生成图片的软件有哪些?这篇文章给你介绍三个

热门文章

  1. 2018岗位招聘信息、薪资待遇详细分析——数据分析
  2. 2011 IT大趋势
  3. 计算机考博的话北邮与哈工,博士生考试_我的考博体会——供后来者参考_沪江英语...
  4. EasyPOI导入多个sheet,既可更新又可新增,且从第二个sheet开始是根据第一个sheet内容的详情导入
  5. 手机有信号wifi无网络连接到服务器,手机wifi连接上但上不了网?是什么鬼?这样处理!...
  6. thinkjs 解决跨域最优方案
  7. android ARouter源码分析
  8. Qt 编译失败,jom.exe退出,退出代码2
  9. C#对word文档的读取
  10. 【ASS特效工具】NyuFX和Yutils(作者:Youka)