【问题标题】:How can I send message from one node to multiple nodes in OMNET++?如何在 OMNET++ 中将消息从一个节点发送到多个节点?
【发布时间】:2022-01-02 05:10:03
【问题描述】:

我有一个网络,我希望一个节点一次向 5 个节点广播消息。但我不能这样做,因为只有一个输出门和一个输入门。

其次,我想同时发送多条消息,就像这张图片中我希望在两个子网中发送消息。

Network

这是我的 NED 文件

package simulationnetwork;


network my_network
{
    @display("bgb=757,458,#80FF00;bgi=background/terrain,s");
    types:
        simple Node
        {
            gates:
                input innerport;
                output outerport;
                
               
        }

    submodules:
        node1: Node {
            @display("p=30,58");
        }
        node2: Node {
            @display("p=249,58");
        }
        node3: Node {
            @display("p=330,165");
        }
        node4: Node {
            
            
            @display("p=182,193");
        }
        node: Node {
            @display("p=155,377");
        }
        node5: Node {
            
            @display("p=275,291");
        }
        node6: Node {
            @display("p=451,311");
        }
    connections:
        node1.outerport --> node2.innerport;
        node2.outerport --> node3.innerport;
        node3.outerport --> node4.innerport;
        node4.outerport --> node1.innerport;
        node5.outerport --> node6.innerport;
        node6.outerport --> node.innerport;
        node.outerport --> node5.innerport;
}

这是我的 CC 文件

#include <omnetpp.h>

using namespace omnetpp;

class Node: public cSimpleModule

{

protected:
    void initialize() override;
    void handleMessage(cMessage *msg) override;

};

Define_Module(Node);
void Node:: initialize()
{
    if(strcmp("node1",getName())==0)
    {
        cMessage *msg = new cMessage("nodetable!,location");
        send(msg,"outerport");

    }





}

void Node::handleMessage(cMessage *msg)
{
    send(msg,"outerport");



}

【问题讨论】:

    标签: c++ performance networking simulation omnet++


    【解决方案1】:
    1. 如果你需要更多的门,你应该使用门向量,即input innerport[]
    2. 广播、创建副本(使用dup())并使用for循环将它们发送到不同的门。

    由于您是初学者,我强烈建议您阅读Tictoc tutorial,它正好涵盖了您感兴趣的主题。

    【讨论】:

      猜你喜欢
      • 2012-04-10
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 2023-03-24
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 2022-11-04
      相关资源
      最近更新 更多