更改 WAVE 消息的长度(VEINS/OMNET++)

Changing length of WAVE message(VEINS/OMNET++)

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

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

WaveShortMessage 是一个 OMNeT++ 数据包,所以总是可以使用 addByteLength() 来增加它现有的大小或 setByteLength() 来设置它的新大小,描述在OMNeT++manual。无需定义新消息。
一个例子:

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);