当前位置: 首页 > news >正文

如何根据IP地址判断是IPv4还是IPv6

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
http://www.lryc.cn/news/24942.html

相关文章:

  • 山地车和公路车怎么选
  • Zotero设置毕业论文/中文期刊参考文献格式
  • 【人工智能与深度学习】自动编码器的简介
  • Isaac-gym(9):项目更新、benchmarks框架梳理
  • Linux 学习笔记(一):终端 和 Shell 的区别和联系
  • cycleGAN算法解读
  • 解读“方差”
  • 记录面试问题
  • (六十四)设计索引的时候,我们一般要考虑哪些因素呢?(上)
  • 【蓝桥杯嵌入式】LCD屏的原理图解析与代码实现(第十三届省赛为例)——STM32
  • 论文学习——Reproducing Activation Function for Deep Learning
  • 【趣味学Python】Python基础语法讲解
  • 虚拟局域网VLAN的实现机制
  • Mask R-CNN 算法学习总结
  • Gorm -- 添加记录
  • go提高升阶(四) I/O流学习
  • 【代码随想录训练营】【Day28】第七章|回溯算法|93.复原IP地址|78.子集|90.子集II
  • Get请求和Post请求区别
  • static关键字
  • A Comprehensive Tool for Modeling CMOS Image-Sensor-Noise Performance论文总结及翻译
  • 嘀嗒出行再闯IPO:千军万马我无懈
  • MATLAB算法实战应用案例精讲-【优化算法】增强型鲸鱼优化算法(EWOA)(附matlab代码实现)
  • 登录Oracle数据库遇到ORA-01017密码错误的解决办法
  • 10个黑客基础教程!简单有效
  • JPA之实体之间的关系
  • 如何在 C++ 中调用 python 解析器来执行 python 代码(三)?
  • 【Linux】gcc/g++/gdb的使用
  • 浅浅谈一谈B树和B+树
  • Keil新建一个国民32位MCU工程
  • webpack.config.js与package.json文件的配置