[ZZ]OPNET中ICI的使用

原文链接:http://hi.baidu.com/freshairjhl/blog/item/ff209f6229140edce6113a62.html

在OPNET中,可以使用ICI来进行层与层之间的数值传递。所谓的ICI就是Interface Control Information的简称,表示接口控制信息,它是一种特殊的数据结构,它的格式可以用ICI Editor进行定义,设计你自己需要的ICI格式。使用的上,大致可以分为如下几步:

       1.定义你需要的ICI格式,方法是用ICI Editor来编辑。比如我们编辑一个如下格式的ICI,字段名称 field1 ,数据类型int ,默认值 0。我们将这ICI格式的名称保存为test_ici_fmt。
       2.在程序中你需要的地方定义一个ICI指针,如 Ici* iciptr;
       3.创建一个ici,iciptr=op_ici_create("test_ici_fmt")。
       4.给ici中的字段赋值,可以根据需要进行。方法:op_ici_attr_set(iciptr,"field1",1),就是把指针iciptr所指向的那个ici数据的field1字段赋值为1。
       5.用op_ici_install()把你定义的ici绑定到一个输出中断,注意在任何时间仅有一个ici可以绑定到一个中断。绑定之后,你的ici就可以随着这个输出的包发送函数或其他的发送函数输出到另外的进程(模型中的其他层)。
      6.然后,就可以在接收到的层里面获取ici里面的值了,所用的函数是op_ici_attr_get()。在接收之前你需要定义一个与你想获得的字段类型一致的变量,用来保存数值。如,前面我们定义的field1是int型的,我们就需要在接收的层里定义 int   rec1。接收是这样op_ici_attr_get(iciptr,"field1",&rec1)。

你可能感兴趣的:([ZZ]OPNET中ICI的使用)