码迷,mamicode.com
首页 > Web开发 > 详细

【OMNet++】tictoc示例一

时间:2015-05-10 09:53:20      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:omnet

众所周知,作为一名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

【OMNet++】tictoc示例一

标签:omnet

原文地址:http://blog.csdn.net/u012503639/article/details/45604341

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!