带有静脉的自定义消息(omnet++、相扑、静脉交通模拟)
Custom Messages with Veins(oment++, sumo, veins traffic simulation)
我正在使用最新版本的静脉。我已经玩了一段时间,现在了解了基础知识。我遵循了 omentpp 的 tictoc 教程,但我仍然无法弄清楚如何解决以下问题:
我想让 Vehicles 和 RSU 互相发送消息。我希望这些消息在所有四个类别中发送。当收到一条消息时,我想测量从源到目的地所花费的时间。
默认情况下,静脉可以发送数据,并且基于this post,我知道我必须更改 TraCIDemo11p 中的某些部分,但我不知道是什么。如果有人可以提供答案,那就太好了。
回答我自己的问题。我修改了 BaseWaveAppLayer.cc
来实现我的目标(尽管这不是正确的方法。正确的方法是扩展这个 class 并在那个 class 中进行更改。但是因为我只是想快速进行更改,我选择了这种更快的方式)。我修改了发送信标的方法。由于将根据用户可以在 .ini 文件中指定的时间安排发送信标。现在,每次安排发送信标时,我都会从 [0-4) 范围内随机生成一个优先级并将其分配给数据包。这样我就可以通过网络发送具有不同优先级的信标。
此外,我还要求以不同的速率发送每个数据包。为了实现这一点,我以这样一种方式实现了随机生成函数,即范围内的某些数字比其他数字生成得更多。这有点偏见。例如,在 .ini 文件中,我将指定优先级 0-2 应以 0.2 的速率发送,而优先级 4 应以 0.4 的速率发送(它可以解释为每个优先级的发送速率)。随机生成函数生成 4 的次数是任何其他数字的两倍,而数字 0、1、2 的生成次数相同。
我正在使用最新版本的静脉。我已经玩了一段时间,现在了解了基础知识。我遵循了 omentpp 的 tictoc 教程,但我仍然无法弄清楚如何解决以下问题:
我想让 Vehicles 和 RSU 互相发送消息。我希望这些消息在所有四个类别中发送。当收到一条消息时,我想测量从源到目的地所花费的时间。
默认情况下,静脉可以发送数据,并且基于this post,我知道我必须更改 TraCIDemo11p 中的某些部分,但我不知道是什么。如果有人可以提供答案,那就太好了。
回答我自己的问题。我修改了 BaseWaveAppLayer.cc
来实现我的目标(尽管这不是正确的方法。正确的方法是扩展这个 class 并在那个 class 中进行更改。但是因为我只是想快速进行更改,我选择了这种更快的方式)。我修改了发送信标的方法。由于将根据用户可以在 .ini 文件中指定的时间安排发送信标。现在,每次安排发送信标时,我都会从 [0-4) 范围内随机生成一个优先级并将其分配给数据包。这样我就可以通过网络发送具有不同优先级的信标。
此外,我还要求以不同的速率发送每个数据包。为了实现这一点,我以这样一种方式实现了随机生成函数,即范围内的某些数字比其他数字生成得更多。这有点偏见。例如,在 .ini 文件中,我将指定优先级 0-2 应以 0.2 的速率发送,而优先级 4 应以 0.4 的速率发送(它可以解释为每个优先级的发送速率)。随机生成函数生成 4 的次数是任何其他数字的两倍,而数字 0、1、2 的生成次数相同。