【问题标题】:OMNET++ Transmit message via Ethernet or WirelessOMNET++ 通过以太网或无线传输信息
【发布时间】:2018-08-28 05:09:36
【问题描述】:

我是使用 OMNET++ 模拟器的新手。目前我想建立一个由两个或多个节点组成的网络,每个节点都有两个可以发送消息的接口(例如以太网和无线)。

我想自己编程节点行为。当消息到达主机时,我想在handleMessage(cMessage *msg) 方法中定义主机是否应该通过以太网或无线接口传输接收到的消息。

对于这种情况,我可以从 INET 包中获取 WirelessHost 吗?如果是,我该如何编程决定使用哪个接口来重新传输接收到的消息?我按照 INET 的无线教程进行操作,但他们只配置 .ned.ini 文件,而不是配置行为编码的 .cc 文件。

在教程中使用了UdpBasicApp。如果我能像上面描述的那样编写一个自己的应用程序会很好。

提前致谢!

【问题讨论】:

标签: c++ omnet++


【解决方案1】:

没错。您可以调整自己的节点,只需创建一个新节点(.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?

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2017-07-11
    • 2016-09-14
    • 1970-01-01
    相关资源
    最近更新 更多