节点向 Hub 发送消息

时间:2021-01-21 14:20:55

标签: message

我想编写一个 OMNET++ 程序,其中有 5 个节点连接到一个集线器。要求是每个节点每秒将向集线器发送 10 条消息。接收到消息后,集线器会将消息转发到除发送者之外的所有节点。我写过Hub.cc。 Hub.cc的内容如下:

#include<omnetpp.h>
class Hub:public cSimpleModule
{
protected:
virtual void initialize();
virtual void
handleMessage(cMessage *msg);
virtual void finish();
};
Define_Module(Hub); 

void Hub::handleMessage(cMessage *msg)
{
cGate *g= msg->getArrivalGate();
int i;
for(i=0;i<g->size();i++)
{
if(i!=g->getIndex())
send(msg->dup(),"out",i);
}
}

我创建了 Hub.ned 文件,内容如下:

Simple Hub
{
     gates:
           input  in[];
           output out[];

}

我创建了 Net2.ned,内容如下:

network Net2
{ parameters:
int n_nodes;
submodules:
hub: Hub;
node[n_nodes]: Node ;
connections:
for i=0..n_nodes-1
{
node[i].out --> hub.in++;
hub.out++ --> node[i].in;
}
}

我已经创建了 omnetpp2.ini 并将以下代码添加到此文件中:

**.n_nodes = 5

我需要帮助为节点编写代码以将消息发送到集线器。

0 个答案:

没有答案