OPNET常见操作

OPNET常见操作1 两种发送 packet 的方式 一种是使用主动的 也就是 A 要发 packet 给 B 的时候直接用 op pk send 或者加上时延 forced 等 那么在 B 就会收到一个 OPC INITRPT STRM 中断 B 响应这个流中断时就把 packet 取出来 一种是被动的 就是 A 不主动给 B 发 packet 因为 B 可能还没准备好接收 那么等 B 准备好接收后就通过 op strm access 告诉 A 我准备好了

举个例子如下

a、源端:

#define START (intrpt_codeSCR_START) //从初始化转向数据包产生的状态
#define DISABLE (intrpt_code
SSC_STOP) //从数据包产生转向停止
#define STOP (intrpt_codeSSC_STOP) //从初始化转向停止
#define PACKET_GENERATE (intrpt_code
SSC_GENERATE) //继续执行数据包产生的状态
//以上定义的是各个状态之间转换的条件。当有中断产生时(确切说,是当OPNET获得离散事件列表中的一个事件时),判断相应的中断码,如果条件成立,则跳转。
op_intrpt_schedule_self(stop_time, SSC_STOP)
—->intrpt_code = op_intrpt_code()获得中断代码SSC_STOP。
数据包产生程序:
next_intarr_time = oms_dist_outcome(interarrival_dist_ptr); //计算下一个数据包产生时间
next_pk_evh = op_intrpt_schedule_self(op_sim_time() + next_intarr_time, SSC_GENERATE);
3、ON/OFF模型下:
平均数据总负载=(业务结束时间-业务开始时间)×平均ON的持续时间 / (平均ON的持续时间+平均OFF的持续时间)×包长度均值 / 包到达间隔均值
4、封装和解封装









a、封装

Packet* pbb_pkptr;

Packet* pkptr;

int mac;

mac=10;

pbb_pkptr=op_pk_create_fmt(format1_name);

pkptr =op_pk_create_fmt(format2_name);

op_pk_nfd_set(pkptr,“da”,mac);

op_pk_nfd_set(pbb_pkptr,“payload”,pkptr);

b、解封装

Packet* pbb_pkptr;

Packet* pkptr;

int mac;

pbb_pkptr=op_pk_get(op_intrpt_strm());

op_pk_nfd_get(pbb_pkptr,“payload”,&pkptr);

op_pk_nfd_get(pkptr,“da”,&mac);

注意:要在创建包格式时,设置包相应的域为放置包的域。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209072.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:06
下一篇 2026年3月19日 上午10:06


相关推荐

  • POJ–2391–Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量

    POJ–2391–Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量

    2022年1月11日
    45
  • 详解robots.txt和Robots META标签

    详解robots.txt和Robots META标签对于网站管理者和内容提供者来说,有时候会有一些站点内容,不希望被ROBOTS抓取而公开。为了解决这个问题,ROBOTS开发界提供了两个办法:一个是robots.txt,另一个是The Robots meta标签。 一、 robots.txt1、 什么是robots.txt?  robots.txt是一个纯文本文件,通过在这个文件中声明该网站中不想被robots访问的部分,这样,该网站的部分或全部内

    2022年5月14日
    40
  • 媒体查询

    媒体查询

    2021年7月4日
    99
  • C语言qsort函数用法

    C语言qsort函数用法qsort函数简介   排序方法有很多种:选择排序,冒泡排序,归并排序,快速排序等。看名字都知道快速排序是目前公认的一种比较好的排序算法。因为他速度很快,所以系统也在库里实现这个算法,便于我们的使用。这就是qsort函数(全称quicksort)。它是ANSIC标准中提供的,其声明在stdlib.h文件中,是根据二分法写的,其时间复杂度为n*log(n)  功能:

    2022年6月23日
    29
  • 费尔马小定理素数java_利用费马小定理判断素数

    费尔马小定理素数java_利用费马小定理判断素数今天听了 ljss 神犇的数论课 顿时感觉 我真的是太弱啦 我只能稍微写一下我能听懂的部分 orz 那么这就是今天我为数不多能听懂一点的之一 QAQ 首先先介绍今天的主角 费马小定理 转自维基百科没看懂的话我稍微解释一下 就是假如 p 是质数 且 GCD a p 1 那么 a p 1 1 modp 假如 p 是质数 且 a p 互质 那么 a 的 p 1 次方除以 p 的余数恒等于 1 因此我们

    2026年3月16日
    2
  • keras提供的网络_kubernetes网络

    keras提供的网络_kubernetes网络GoogleNet网络详解与keras实现GoogleNet网络详解与keras实现GoogleNet系列网络的概览Pascal_VOC数据集第一层目录第二层目录第三层目录InceptionV1模块介绍Inception的架构GoogleNet的图片Keras代码实现为了搭建Inception网络我们使用了以下策略整个代码的流程如下实验结果实验结果分析本博客相关引用本

    2022年8月14日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号