簡體   English   中英

如何在 OMNET++ 中將消息從一個節點發送到多個節點?

[英]How can I send message from one node to multiple nodes in OMNET++?

我有一個網絡,我希望一個節點一次向 5 個節點廣播消息。但我不能這樣做,因為只有一個 output 門和一個輸入門。

其次,我想同時發送多條消息,就像這張圖片中我希望在兩個子網中發送消息。

網絡

這是我的 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");



}
  1. 如果你需要更多的門,你應該使用門向量,即input innerport[]
  2. 廣播,創建副本(使用dup() )並使用 for 循環將它們發送到不同的門。

由於您是初學者,我強烈建議您閱讀 Tictoc 教程,該教程涵蓋了您感興趣的主題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM