Omnetpp实验2实验记录:
-
新建项目
File—>new–>omnte++ project -
新建一个文件夹src。
-
在文件夹src内新建Hub.ned。
-
在文件夹src内新建Node.ned。
-
在文件夹src内新建一个Net2.ned。
-
文件夹src内新建一个.cc文件,即Hub.cc。
#include<string.h>
#include<omnetpp.h>
class Hub:public omnetpp::cSimpleModule{
protected:
virtual void initialize();
virtual void handleMessage(omnetpp::cMessage *msg);
virtual void finish();
};
Define_Module(Hub);
void Hub::initialize()
{
}
void Hub::handleMessage(omnetpp::cMessage *msg)
{
omnetpp::cGate *g= msg->getArrivalGate();
int i;
for(i=0;i<g->size();i++)
{
if(i!=g->getIndex())
{
send(msg->dup(),"out",i);
}
}
}
void Hub::finish()
{
}
- 文件夹src内新建一个.cc文件,即Node.cc。
// A code block
var foo = 'bar';
#include<string.h>
#include<omnetpp.h>
class Node:public omnetpp::cSimpleModule
{
private:
int no_sent;
int no_rcvd;
double time_interval;
protected:
virtual void initialize();
virtual void handleMessage(omnetpp::cMessage *msg);
virtual void finish();
};
Define_Module(Node);
void Node::initialize()
{
//add code here
no_sent=0;
no_rcvd=0;
time_interval=par(time_interval);
omnetpp::cMessage *msg= new omnetpp::cMessage();
scheduleAt(0.01,msg);
}
void Node::handleMessage(omnetpp::cMessage *msg)
{
//add code here
if(msg->isSelfMessage())
{
omnetpp::cMessage *out_msg=new omnetpp::cMessage();
send(out_msg,"out");
// no_sent++;
// scheduleAt(omnetpp::simTime()+time_interval,msg);
}
else
{
no_rcvd++;
delete(msg);
}
}
void Node::finish()
{
//add code here,看视频做的,后面看不清楚,注释掉
// recordScalar("Numberof received messages",)
// recordScalar("Number of sent messages"no_,)
}
- 建立一个omnetpp2.ini,输入如下内容。
- 删除Net2.ned里的定位。
- 选中项目右键选择build project。
选中omnetpp.ini运行