通过设置 WSM 的长度setWsmLength
或通过添加大的有效载荷setWsmData
在模拟过程中有什么不同吗?我正在尝试模拟一个频繁使用的网络,但是更改这两个值中的任何一个似乎都没有任何区别。我找到了这个,但想确认一下。如果我想改变 WSM 的大小,我必须实现它吗?
user5965248
问问题
1325 次
2 回答
4
您可以在一个文件中为您的应用程序实现一个数据包,.msg
如下所示:
cplusplus {{
#include "veins/modules/messages/WaveShortMessage_m.h"
}}
class WaveShortMessage;
message MyAppsPacket extends WaveShortMessage {
string sourceAddress;
string destinationAddress;
simtime_t sendingTime;
}
然后在您的代码中,您可以使用内置的setByteLength()
. 为您的消息使用cPacket子类,因为:
(cPacket 是)cMessage 的子类,可用于表示数据包(帧、* 数据报、应用程序消息等)。cPacket 为 cMessage 添加长度(以 * 位或字节为单位)、位错误标志和封装能力。* 当数据包通过 * cDatarateChannel 或其他支持数据速率和/或 * 错误建模的通道时,长度和误码标志很重要。*
显示从到的铸造的相关问答。cMessage
cPacket
于 2016-02-23T11:54:52.100 回答
0
我知道这是几十年后的事了,但也许它可以帮助像我这样的新 Vanets 爱好者。
在 omnet++5.4.1 和 Veins 4.7.1 中,在函数中
填充WSM()
在 BaseWaveApplLayer.cc (veins/modules/application/ieee80211p) 中定义,您可以使用
wsm->setBitLength()
方法,它会改变 wsm 数据包的大小。默认情况下,它具有标题的长度
wsm->setBitLength(headerLength)
我玩过这个并且可以获得不同的数据包大小。
希望这是有用的。
于 2018-10-15T12:54:44.447 回答