【OMNet++】tictoc示例一
众所周知,作为一名omnet初学者应该知道一个简单的omnet project最基本的文件就是ned文件,cc文件以及ini文件。接下来,我将用一些例子讲述对其的一些认识,希望和各位交流学习。首先是ned文件,程序如下
package lingx;//声明程序包名为lingx
simple Txc
{
parameters:
bool sendMsgOnInit=default(false);
@display("i=block/routing");//显示字符串指定Txc模块的图标为路由器
gates:
inout gate;//声明Txc模块的门为双向门
}
network TicToc
{
//指定组成整个模型的子模块:tic和toc,这两个模块都是从Txc派生而来的
submodules:
tic:Txc
{
parameters:
sendMsgOnInit=true;
@display("i=,cyan;p=34,45");//此显示字符串与定义Txc模块的显示字符串合并,
//指定tic的图标为路由器图标,颜色为红色,p标签指定其位置为(34,45)。
}
toc:Txc
{
parameters:
sendMsgOnInit=false;
@display("i=,green;p=109,98");//此显示字符串与定义Txc模块的显示字符串合并,
//指定tic的图标为路由器图标,颜色为绿色,p标签指定其位置为(109,98)。
}
connections:
tic.gate<-->{delay=100ms;}<-->toc.gate;//与toc通过双向门相互连接,
//中间的信道类型为ned.DelayChannel,延迟为100ms。
}
描述的图形如下
下面是cc文件,程序如下:
#include<Omnetpp.h> //omnet++头文件
class Txc:public cSimpleModule //定义Txc
{
protected:
virtual void initialize();
virtual void handleMessage(cMessage *msg);
};
Define_Module(Txc); //与ned文件定义的Txc建立联系
void Txc::initialize() //Txc的初始化函数
{
if(par("sendMsgOnInit").boolValue()==true)//获取ned文件sendMsgOnInit的默认值
{
EV<<"sending initialial message!"; //显示字符串
cMessage *msg=new cMessage("msg");
send(msg,"gate$o"); //将消息msg从输出门发送出去
}
}
void Txc::handleMessage(cMessage *msg) //消息处理
{
send(msg,"gate$o"); //将消息msg从输出门发送出去
}
最后是ini文件,如下
[General]
network =lingx.TicToc
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。