在静脉中更改WSM(WAVE短消息)数据包大小

时间:2016-02-22 21:19:59

标签: omnet++ veins 802.11p

通过setWsmData设置WSM的长度或通过searchApp.controller("userWordController", function(GetSearchService) { $scope.getDefinition = function(){ GetSearchService.findWord() .searchWord('apple', function(arr){ console.log('this line of code never gets executed'); $scope.wordsResult = arr; }); } }); 添加大的有效负载是否会在模拟过程中产生任何差异?我试图模拟一个使用频繁的网络,但改变这两个值中的任何一个似乎没有任何区别。我找到this,但想确认一下。如果我想改变WSM的大小,我是否必须实现它?

2 个答案:

答案 0 :(得分:3)

您可以在.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)cMessage的子类,可用于表示数据包   (框架,*数据报,应用程序消息等)。 cPacket增加了长度   (以*位或字节为单位),位错误标志和封装   cMessage的能力。 *长度和位错误标志很重要   当数据包通过* cDatarateChannel或另一个时   支持数据速率和/或*错误建模的通道。 *

相关Q&A,其中显示了从cMessagecPacket的广告投放。

答案 1 :(得分:0)

我知道这是几十年后的事,但也许可以帮助像我这样的一些新的先锋爱好者。

在omnet ++ 5.4.1和Veins 4.7.1中,在函数

  

populateWSM()

在BaseWaveApplLayer.cc(静脉/模块/应用程序/ ieee80211p)中定义,您可以使用

设置位长
  

wsm-> setBitLength()

方法,它更改了wsm数据包的大小。默认情况下,它具有标题的长度

  

wsm-> setBitLength(headerLength)

我玩过这个游戏,可以获得不同的数据包大小。

希望这很有用。