0

如何更改 WAVE 消息的长度。方法setWsmLength不行。从这里的答案我认为这是不可能的,因为该功能未在 WAVE 中实现。但提供的答案非常模糊。它要求创建一个 .msg 文件,这很清楚。但其余的不是很清楚。有人可以澄清或解释吗?

PS:我无法在该线程中发表评论,因此不得不提出新问题。

4

1 回答 1

2

WaveShortMessage是一个OMNeT++数据包,因此可以随时使用addByteLength()来增加其现有大小或setByteLength()设置其新大小,OMNeT++ 手册中的描述。不需要定义新消息。
一个例子:

WaveShortMessage* wsm = prepareWSM("data", dataLengthBits, channel, dataPriority, -1,2);
wsm->setWsmData(blockedRoadId.c_str());
int byteLen = blockedRoadId.length(); // assuming that one char = one byte
wsm->addByteLength(byteLen);
于 2016-03-31T09:50:15.787 回答