点分法IP地址和网络二进制表示的转换

字符串形式的IP地址和网络传输中的IP地址如何进行转换?

字符串形式的IP地址主要是指点分法表示的IP地址,比如192.168.0.11,而实际在网络中表示IP地址时,需要转换成整数形式,比如210.25.132.181转换为整数形式是3524887733,其转换有对应的API接口,虽然不同的操作平台有所差别,但是还算是大同小异。

主要的转换函数

  • int inet_aton(const char *cp, struct in_addr *inp); address to network
    inet_aton() 转换网络主机地址cp(如192.168.1.10)为二进制数值,并存储在struct in_addr结构中,即第二个参数*inp,函数返回非0表示cp主机有地有效,返回0表示主机地址无效。
  • in_addr_t inet_addr(const char *cp);
    inet_addr函数转换网络主机地址(如192.168.1.10)为网络字节序二进制值,如果参数char *cp无效,函数返回-1(INADDR_NONE),这个函数在处理地址为255.255.255.255时也返回-1,255.255.255.255是一个有效的地址,不过inet_addr无法处理;
  • in_addr_t inet_network(const char *cp);
    inet_network函数将字符串形式转换为整数形式,只不过不是转换为网络字节序,而是转换为本地字节序。
  • char *inet_ntoa(struct in_addr in); network to address
    inet_ntoa 函数转换网络字节排序的地址为标准的ASCII以点分开的地址,,该函数返回指向点分开的字符串地址(如192.168.1.10)的指针,该字符串的空间为静态分配的,这意味着在第二次调用该函数时,上一次调用将会被重写(复盖),所以如果需要保存该串最后复制出来自己管理!
  • int inet_pton(int af, const char *src, void *dst);
    这个函数转换字符串到网络地址,第一个参数af是地址族,转换后存在dst中
    inet_pton 是inet_addr的扩展,支持的多地址族有下列:
    AF_INET:src为指向字符型的地址,即ASCII的地址的首地址(ddd.ddd.ddd.ddd格式的),函数将该地址转换为in_addr的结构体,并复制在*dst中
    AF_INET6:rc为指向IPV6的地址,,函数将该地址转换为in6_addr的结构体,并复制在*dst中。
    如果函数出错将返回一个负值,并将errno设置为EAFNOSUPPORT,如果参数af指定的地址族和src格式不对,函数将返回0。
  • const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);
    这个函数转换网络二进制结构到ASCII类型的地址,参数的作用和上面相同,只是多了一个参数socklen_t cnt,他是所指向缓存区dst的大小,避免溢出,如果缓存区太小无法存储地址的值,则返回一个空指针,并将errno置为ENOSPC。
1. 功能析法概论 1.1 功能析方法的目标: 1. 功能方法的收益. 1.3. 功能析法的步骤. 1.3.1. 决定析的类型 1.3. 识别析范围应用边界 1.3.3. 确定未经调整的功能数 (Unadjusted Function Point Count -- UFPC) . 1.3.3.1 数据功能的计数 1.3.3 交易功能的计数 1.3.3.4. 确定调整系数 1.3.3.5.计算经过调整的功能 2. 析流程. 2.1 决定析的类型. 2.1.1 定义:功能析的类型. 2 识别析范围应用边界 2.1 识别析范围应用边界中的定义 2 定义应用边界. 2.3 析范围以及应用边界的规则流程. 2.3.1 边界识别的规则. 2.3 析范围应用边界流程: . 2.3.3 边界识别的些技巧: 2.4 计数数据功能 2.4.1 定义: 2.4 计数流程概述. 2.4.3 ILF 识别规则. 2.4.4 EIF 识别规则. 2.4.5 复杂度贡献的定义规则. 2.4.6 ILF/EIF 计数流程. 2.4.7 复杂度贡献确定流程 2.4.8 数据功能计数技巧. 2.5 计数交易功能 2.5.1 定义 2.5.1.1 基本定义. 2.5.1 交易功能的总结: 2.5.1.3 相关术语的定义 2.5.1.4 交易功能执行的逻辑处理总结 2.5 EI,EO,EQ 计数规则 2.5.1 交易功能计数的概要流程 2.5 基本处理的识别规则 2.5.3 交易功能计数规则 2.5.3.1 EI 的主要目的描述:. 2.5.3 EI 的计数规则: 2.5.3.3 EO EQ 的共同主要目的描述: 2.5.3.4 EO/EQ 共享的计数规则:. 2.5.3.5 EO 计数的补充规则:. 2.5.3.6 EQ 计数的补充规则:. 2.5.3 复杂度贡献的定义规则. 2.5.3.1 EI 的复杂度贡献规则 2.5.3.1.1 EI 的引用文件类型(FTR)计数规则 2.5.3.1 EI 的数据元素类型(DET)计数规则. 2.5.3 EO/EQ 的复杂度贡献规则 2.3.5.1 EO/EQ 共享的引用文件类型(FTR)计数规则 2.3.5 EO 特定的引用文件类型(FTR)计数规则 2.3.5.3 EO/EQ 共享的数据元素类型(DET)计数规则. 2.5.4 EI,EO,EQ 的计数流程 2.5.5 复杂度贡献确定流程. 2.5.6 交易功能计数技巧. 2.6 决定调整系数 2.6.1 调整系数的决定. 2.6 确定VAF 的流程 2.6.3 通用系统特性及其影响程度的评定. 2.6.3.1 数据通讯. 2.6.3 布式数据处理. 2.6.3.3 性能. 2.6.3.4 使用强度高的配置. 2.6.3.5 交易速度 2.6.3.6 在线数据输入 2.6.3.7 最终用户的效率. 2.6.3.8 在线更新 2.6.3.9 复杂的处理 2.6.3.10 可重用性 2.6.3.11 安装的简易性 2.6.3.12 运行的简易性 2.6.3.13 多场地 2.6.3.14 允许变更 2.7 计算调整功能 2.7.1 开发项目功能的计算. 2.7 升级项目功能的计算. 2.7.3 应用功能的计算. 附录A : 未经调整的功能计算表. 附录B:功能计数中的规则表. 附录C: 词汇表:.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值