更改 Veins 中的 WSM(WAVE 短消息)数据包大小
Changing WSM(WAVE Short Message) packet size in Veins
通过 setWsmLength
设置 WSM 的长度或通过 setWsmData
添加大负载在模拟过程中有什么不同吗?我正在尝试模拟一个频繁使用的网络,但更改这两个值中的任何一个似乎都没有任何区别。我找到 this,但想确认这一点。如果我想更改 WSM 的大小,我是否必须实施它?
您可以在 .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 is) A subclass of cMessage that can be used to represent packets
(frames, * datagrams, application messages, etc). cPacket adds length
(measured in * bits or bytes), bit error flag, and encapsulation
capability to cMessage. * Length and bit error flag are significant
when the packet travels through * a cDatarateChannel or another
channel that supports data rate and/or * error modelling. *
相关 Q&A 显示了从 cMessage
到 cPacket
的转换。
我知道这是几十年后的事了,但也许它可以帮助像我这样的新 vanets 爱好者。
在 omnet++5.4.1 和 Veins 4.7.1 中,在函数
populateWSM()
在BaseWaveApplLayer.cc(veins/modules/application/ieee80211p)中定义,可以用
设置位长
wsm->setBitLength()
方法,它改变了 wsm 数据包的大小。默认情况下,它的长度为 header
wsm->setBitLength(headerLength)
我玩过这个并且可以获得不同的数据包大小。
希望这有用。
通过 setWsmLength
设置 WSM 的长度或通过 setWsmData
添加大负载在模拟过程中有什么不同吗?我正在尝试模拟一个频繁使用的网络,但更改这两个值中的任何一个似乎都没有任何区别。我找到 this,但想确认这一点。如果我想更改 WSM 的大小,我是否必须实施它?
您可以在 .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 is) A subclass of cMessage that can be used to represent packets (frames, * datagrams, application messages, etc). cPacket adds length (measured in * bits or bytes), bit error flag, and encapsulation capability to cMessage. * Length and bit error flag are significant when the packet travels through * a cDatarateChannel or another channel that supports data rate and/or * error modelling. *
相关 Q&A 显示了从 cMessage
到 cPacket
的转换。
我知道这是几十年后的事了,但也许它可以帮助像我这样的新 vanets 爱好者。
在 omnet++5.4.1 和 Veins 4.7.1 中,在函数
populateWSM()
在BaseWaveApplLayer.cc(veins/modules/application/ieee80211p)中定义,可以用
设置位长wsm->setBitLength()
方法,它改变了 wsm 数据包的大小。默认情况下,它的长度为 header
wsm->setBitLength(headerLength)
我玩过这个并且可以获得不同的数据包大小。
希望这有用。