我是使用OMNET ++模拟器的新手。目前我想构建一个由两个或多个节点组成的网络,每个节点都有两个接口可以在其上发送消息(例如以太网和无线)。
我想自己编写节点行为。当消息到达主机时,我想用handleMessage(cMessage *msg)
方法定义主机是否应该通过以太网或无线接口发送接收的消息。
在这种情况下,我可以从INET包中获取WirelessHost吗?如果是,我如何编程决定使用什么接口重新传输收到的消息?我遵循INET的无线教程,但他们只配置.ned
和.ini
文件,但不配置行为编码的.cc
文件。
在教程中使用了UdpBasicApp
。如果我能像上面描述的那样编写自己的应用程序,那就太好了。
提前致谢!
答案 0 :(得分:0)
右。您可以调整自己的节点,只需创建一个新节点(.h .ned .cc文件),即可导入和重用无线主机功能并添加/覆盖额外功能。 因此,新MyNode元素的自定义MyNode.cc文件可以是:
#include "MyNode.h"
#include <string.h>
#include <omnetpp.h>
void MyNode::initialize()
{
}
void MyNode::handleMessage(cMessage *msg)
{
EV << "Received message, now applying new custom procedure \n";
new_behaviour msg;
}
此处还可以帮助您创建新节点的完整示例,以便删除所有收到的数据包OMNET++ How to retain all functions in AODVRouting class but override sendAODVPacket function only?
干杯!