我想编写一个 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
我需要帮助为节点编写代码以将消息发送到集线器。