微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OMNeT++中统计收集相关值不增加

如何解决OMNeT++中统计收集相关值不增加

为了测量数据包的发送/接收计数,我声明了一个标量变量并编写了一个与record相关的函数。它看起来像这样:

---
title: "El Code-Book de Guibi"
output:
  html_document:
    toc: yes
    toc_depth: 5
    toc_float: yes
  pdf_document:
    toc: yes
    toc_depth: '5'
editor_options: 
  markdown: 
    wrap: 72
---

A.cc

class VEINS_API A : public DemoBaseApplLayer
{
     private:
          long StaticsFrsaPacketCount;

          cOutVector frsaPacketCountVector;
     ...
}

我参考OMNeT++ void A::initialize(int stage) { DemoBaseApplLayer::initialize(stage); if(stage == 0) { StaticsFrsaPacketCount = 0; frsaPacketCountVector.setName("fR_SA packet count"); ... } } void A::finish() { recordScalar("fR_SA Packet",StaticsFrsaPacketCount); ... } void A::handleSelfMsg(cmessage* msg) { switch(msg -> getKind()) { case SEND_FRSA_EVT: { ... StaticsFrsaPacketCount++; frsaPacketCountVector.record(StaticsFrsaPacketCount); ... sendDelayedDown(wsm,uniform(0.01,0.50)); } ... } } 官方教程中写的统计数据编写了代码。但是,模拟完成后通过生成Tictoc文件标量值的结果如下图所示。

enter image description here

换句话说,该值似乎增加.anf 次,之后不再增加。是什么原因?

解决方法

(这部分)你的代码看起来不错。结果中有 1 的最可能原因是因为实际上只发送了一个数据包。统计数据显示了实际发生的情况。如果您希望发送多个数据包,我建议在 Qtenv 中启动应用程序并逐步执行模拟并确保它按预期工作。

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