改变静脉信息

时间:2017-02-20 07:08:46

标签: omnet++ veins

为什么这个程序不起作用?我刚刚更改了邮件内容。

我想发送带有“MyMessage”字符串的通用消息,而不是发送路障块ID。

void TraCIDemoRSU11p::sendMessage(std::string blockedRoadId) 
{
    sentMessage = true;
    t_channel channel = dataOnSch ? type_SCH : type_CCH;
    WaveShortMessage* wsm = prepareWSM("data", dataLengthBits, channel, dataPriority, -1,2);
    //wsm->setWsmData(blockedRoadId.c_str());
    wsm->setWsmData("MyMessage");
    sendWSM(wsm);
}

模拟开始但是当第一条消息发送时会出现错误:

TraCI Server reported error executing command 0xc4:"Referenced edge 'MyMessage' is not known".

1 个答案:

答案 0 :(得分:2)

我猜你正在修改Veins 4.4附带的教程模拟。

此模拟的工作原理如下:如果汽车停止超过几秒钟,它会将当前道路发送到范围内的所有车辆。如果汽车收到这样的消息,它会将其转发给其他汽车,它将尝试找到一条到达目的地的路线,避开此消息中的道路。

我猜您只是将路径中的消息内容更改为某个字符串。因此,接收该消息的任何汽车仍将试图避开该字符串所标识的道路。因为这样的道路不存在,所以你会收到错误。