【问题标题】:How come onWSM method does not get invoke when sending messages from RSU?从 RSU 发送消息时,如何调用 onWSM 方法?
【发布时间】:2019-10-02 01:25:03
【问题描述】:

我正在尝试从 RSU 向汽车发送消息,基本上,我想淹没网络,但对于某些人来说,我似乎看不到汽车模块收到的任何消息。

我确实尝试过清理项目。我尝试按照静脉示例进行操作,但即使这样对我也不起作用。

RSU 类

void RSU11p::handleSelfMsg(cMessage* msg) {

    EV << "handleselfmessage in RSU11p" << endl;

    WaveShortMessage* rsu_msg = new WaveShortMessage();

    populateWSM(rsu_msg);
    sendDown(rsu_msg->dup());
    //scheduleAt(simTime() + 1, rsu_msg->dup());
}

MyVeinsApp 类

void MyThesisApp::onWSM(WaveShortMessage* wsm)
{
    findHost()->getDisplayString().updateWith("r=16,green");
    EV << "received here from car or RSU?" << endl;

    EV << wsm << endl;

}

当我运行模拟时,我没有在控制台中看到“received here ...”。这对我来说根本没有意义。我做错了什么?

非常感谢任何帮助。谢谢。

【问题讨论】:

    标签: c++ omnet++ veins sumo


    【解决方案1】:

    这是最后一个版本的静脉吗?另外,如果您首先在我强烈推荐的静脉提供的演示模型(示例)上尝试过您的想法,则最好。 (因为创建自己的类需要与其他文件保持一致)。

    最好的问候,

    【讨论】:

    • 我确实尝试过,但这也不起作用。我只想看看我是否可以在 onWSM(用于 RSU 类)中 EV 语句,所以当 RSU 收到消息时,我可以处理该消息。
    • 除非您进行了所有必要的更改,否则“MyThesisApp::onWSM”方法将无法在没有被调用的情况下工作,但既然您说您已经在已经运行的演示中尝试过您的代码,我不会有线索。我希望你能尽快找到异常……最好。
    • 你解决了吗。
    【解决方案2】:

    似乎你没有调用handleSelfMessage()。您需要在某些方法中调用 scheduleAt() 来调用它。

    【讨论】:

      猜你喜欢
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多