0

在一个项目中,我必须使用自定义信标消息。它需要的参数与 WaveShortMessage 中的参数不同。我定义了 .msg 文件并且能够生成 _m.cc 和 _m.h 文件。为了在 TraCIDemo11p 中使用自定义消息,我想到了将 WSM 对象参数替换为 onBeacon() 函数中自定义消息的对象参数。但这不起作用,因为 BaseWaveApplLayer 也只使用了 WSM 对象。

所以我创建了另一个 MyAppLayer.ned,其内容与 TraCIDemo11p.ned 的内容相同,除了“sendWhileParking”参数(我在 MyAppLayer.ned 中删除),我通过查看为 MyAppLayer.ned 编写了相应的 .h 和 .cc 文件TraCIDemo11p.h/.cc 文件的结构。另外,我仔细地包含了所有相关的头文件,包括自定义消息的 _m.h 文件。但是它产生了很多错误,例如-

  1. scheduleAt() 未在范围内定义
  2. “MyMsg”未在范围内定义。. . 和类似的。

请帮助我了解如何在 TraCIDemo11p 中使用自定义消息代替 WSM。谢谢你。

4

1 回答 1

1

首先,您应该将以下代码添加到您的文件中

#include omnetpp.h 

using namespace omnetpp;

最后,您应该继承cSimpleModule类以识别您的方法,例如scheduleAt().

例如:

class className : cSimpleModule{
...
}
于 2019-07-15T11:46:07.710 回答