【问题标题】:getSenderPos() function removal from the new versions of VEINS从新版本的 VEINS 中删除 getSenderPos() 函数
【发布时间】:2017-09-03 18:15:13
【问题描述】:

也许我错了,但我注意到函数 getSenderPos() 在 4.5+ 版本中已从 WaveShortMessage 删除/移动到 BasicSafetyMessage

使用 4.4 版 - 我使用 getSenderPos() 来计算 2 个节点之间的距离,但想知道使用 4.6+ 版的最佳方法是什么?

我是否应该在我的 VEINS 应用程序中重写为 WSM 交换编写的代码来进行 BSM 交换,还是我遗漏了什么?

感谢您的帮助。

【问题讨论】:

    标签: c++ omnet++ veins


    【解决方案1】:

    您是对的:与早期版本相比,Veins 4.6 要求从应用程序传递到 MAC 层的set of fields 要小得多。实现这组字段的基本类型(有点令人困惑)称为WaveShortMessage。随意通过从基类型继承来扩展字段集,然后在 onWSM 方法中将收到的消息转换为您的类型。

    为了快速实验,Veins 附带的示例应用程序层BaseWaveApplLayer 已经实现了模拟 WSA 和 BSM 的消息,但很可能无论如何您都想使用全新类型的消息,所以我不建议在这些类型的消息仅用于最简单的调查(即使这样,也要检查您是否正确设置了消息长度等参数)。

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 2017-11-16
      • 2020-02-16
      • 1970-01-01
      • 2016-06-02
      • 2019-04-03
      • 2020-07-20
      • 2020-10-28
      • 2015-09-11
      相关资源
      最近更新 更多