读书频道 > 网站 > 网页设计 > 深入理解Net-SNMP
2.5.5 标签类型定义
15-09-06    下载编辑
收藏    我要投稿   

本文所属图书 > 深入理解Net-SNMP

本书是首部从实战的角度讲解Net-SNMP开发的书籍。本书从网络管理概念开始,到MIB的开发设计,最后到使用Net-SNMP开发网络管理应用,实现了由网络管理理论到实践的落地。它有以下几个特点:书中内容由项目而生,以立即去当当网订购
在2.5.3节中,给出了一个CHOICE的例子,也提到了“显式地指定子Tag以作区分”。下面我们再看看另外一个例子,并考虑如何将这个例子中的数据编码进行传输。
 
--定义体重和身高
 
WhtHht ::= CHOICE {
        weight  INTENGER, --体重
        height  INTENGER } –-身高
 
当我们以INTEGER数据类型标签传送数据的时候,会出现什么问题?无法区分传送的是“体重”还是“身高”,这就需要使用另外的定义机制。
 
标签类型的定义指的是,通过定义标签区分构造类型中具有相同数据类型(简单或构造类)的不同组件。定义方法有两种:显式(EXPLICIT)和隐式(IMPLICIT),其使用方法如下:
 
< 新类型名 > ::= [ [标签类名] 标记号    ] [ EXPLICIT | IMPLICIT ]  < 原始类型 >
 
上式中,“标签类名”指的是2.4节中的几种标签类,默认为context-specif?ic即上下文指定类(请理解上下文的含义);“显式|隐式”也为可选项,那是因为默认为IMPLICIT;“原始类型”可以为简单数据类型或构造类型。无论是以显式还是隐式定义新的标签类型,都能够区分构造体中的数据,它们的主要区别在于编码方式上的差异(编码在第5章讲述)。
 
我们把上面的例子重定义如下(默认的定义方式:上下文指定类,隐式类型):
 
--定义体重和身高
 
WhtHht ::= CHOICE {
        weight [1] INTENGER, --体重,通过标记号 1 唯一确定
        height [2] INTENGER  –-身高,通过标记号 2 唯一确定
}
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站