也许我错了,但我注意到函数getSenderPos()在版本4.5 +
中被从WaveShortMessage移除/移动到BasicSafetyMessage使用4.4版本 - 我使用getSenderPos()来计算2个节点之间的距离,但是想知道4.6 +版本的最佳方法是什么?
我是否应该在我的VEINS应用程序中重写为WSM交换编写的代码来进行BSM交换,或者我错过了什么?
感谢您的帮助。
答案 0 :(得分:1)
你是对的:与早期版本相比,Veins 4.6要求将更小的set of fields从应用程序传递到MAC层。实现这组字段的基类型(有点令人困惑)称为WaveShortMessage
。您可以根据需要继承基本类型来扩展字段集,然后将收到的消息转换为onWSM
方法中的类型。
对于快速实验,Veins附带的示例应用程序层BaseWaveApplLayer
已经实现了模拟WSA和BSM的消息,但是很可能你想要使用全新类型的消息,所以我不会这样做。除了最简单的调查之外,建议建立这些类型的消息(即使这样,也要检查你是否正确设置了消息长度等参数)。