tictoc12.ned文件

//input:指定当前门是输入门,只能和输出门连接,只能接受消息
//output:当前门是输出门,只能和输入门连接,只能发送消息
//inout:既是输入门又是输出门,既能发送消息也能接受消息simple Txc12
{parameters:@display("i=block/routing");gates:inout gate[];  // declare two way connections声明双向连接
}// using two way connections to further simplify the network definition
network Tictoc12
{types:channel Channel extends ned.DelayChannel {delay = 100ms;}submodules:tic[6]: Txc12;connections:tic[0].gate++ <--> Channel <--> tic[1].gate++;tic[1].gate++ <--> Channel <--> tic[2].gate++;tic[1].gate++ <--> Channel <--> tic[4].gate++;tic[3].gate++ <--> Channel <--> tic[4].gate++;tic[4].gate++ <--> Channel <--> tic[5].gate++;
}

Txc12.cc文件

//输入输出门向量,随机消息发送#include <stdio.h>
#include <string.h>
#include <omnetpp.h>
using namespace omnetpp;/*** Let's make it more interesting by using several (n) `tic' modules,* and connecting every module to every other. For now, let's keep it* simple what they do: module 0 generates a message, and the others* keep tossing it around in random directions until it arrives at* module 2.*/
class Txc12 : public cSimpleModule
{protected:virtual void forwardMessage(cMessage *msg);virtual void initialize() override;virtual void handleMessage(cMessage *msg) override;
};Define_Module(Txc12);void Txc12::initialize()
{if (getIndex() == 0) {// Boot the process scheduling the initial message as a self-message.char msgname[20];sprintf(msgname, "tic-%d", getIndex());cMessage *msg = new cMessage(msgname);scheduleAt(0.0, msg);}
}void Txc12::handleMessage(cMessage *msg)
{if (getIndex() == 3) {// Message arrived.EV << "Message " << msg << " arrived.\n";delete msg;}else {// We need to forward the message.forwardMessage(msg);}
}void Txc12::forwardMessage(cMessage *msg)
{// In this example, we just pick a random gate to send it on.在这个例子中,我们只需选择一个随机门来发送它。// We draw a random number between 0 and the size of gate `gate[]'.我们画了一个介于0和“gate[]”大小之间的随机数。int n = gateSize("gate");int k = intuniform(0, n-1);EV << "Forwarding message " << msg << " on gate[" << k << "]\n";// $o and $i suffix is used to identify the input/output part of a two way gate。$o和$i后缀用于标识双向门的输入/输出部分//inout门发送消息,门的名称+“$o”表示输出门,门的名称+“$i”表示输入门send(msg, "gate$o", k);
}

omnetpp.ini

[Config Tictoc12]
network = Tictoc12

omnet++tictoc12案例解析相关推荐

  1. omnet++Aloha案例解析

    Aloha.ned文件 //Aloha网络由主机组成,这些主机通过纯Aloha或时隙Aloha协议 network Aloha {parameters://这里的参数都是aloha的int numHo ...

  2. 《用于物联网的Arduino项目开发:实用案例解析》—— 3.4 小结

    本节书摘来自华章出版社<用于物联网的Arduino项目开发:实用案例解析>一 书中的第3章,第3.4节,作者[美]安德尔·杰韦德(Adeel Javed),更多章节内容可以访问云栖社区&q ...

  3. 【许晓笛】 EOS智能合约案例解析(1)

    详解 EOS 智能合约的 hpp 文件 为了帮助大家熟悉 EOS 智能合约,EOS 官方提供了一个代币(资产)智能合约 Demo -- eosio.token.eosio.token 智能合约目前还不 ...

  4. 福利继续:赠书《Spring Cloud微服务-全栈技术与案例解析》

    <Spring Cloud微服务-全栈技术与案例解析> 在互联网时代,互联网产品的最大特点就是需要快速发布新功能,支持高并发和大数据.传统的架构已经慢慢不能支撑互联网业务的发展,这时候微服 ...

  5. 转盘抽奖php,使用PHP实现转盘抽奖算法案例解析

    这次给大家带来使用PHP实现转盘抽奖算法案例解析,使用PHP实现转盘抽奖算法的注意事项有哪些,下面就是实战案例,一起来看一下. 流程: 1.拼装奖项数组 2.计算概率 3.返回中奖情况 代码如下: 中 ...

  6. Database之SQL:SQL之over partition by开窗函数的简介、使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略

    Database之SQL:SQL之over partition by开窗函数的简介.使用方法(求各班级内各自排名/求各班级内第一名/求各班级内分数递增和等案例解析)之详细攻略 目录 over part ...

  7. auto-sklearn案例解析二

    度量函数-metrics auto-sklearn的度量函数是对sklearn度量函数的封装,我们即可以使用autosklearn已经封装好的metrics函数,也可以使用autosklearn的me ...

  8. python查找字符串关键词_Python字符串查找基本操作案例解析

    本篇文章小编给大家分享一下Python字符串查找基本操作案例解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 字符串查找基本操作主要分为三个关键词:fi ...

  9. 刘子佼 mysql 下载_MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战 视频教程...

    课程名称:MySQL数据管理之备份恢复案例解析 23讲 Mysql备份恢复实战课程简介: 课程独家解析MySQL 5.6最新特性,课程讲师刘子佼讲课风格幽默,善于与人沟通,善于组建和协调团队攻克技术难 ...

  10. OOAD实践之路——真实案例解析OO理论与实践(二、第一项任务:特性列表)

    查看本系列全部文章: <OOA&D实践之路--真实案例解析OO理论与实践>索引贴 第一份说明       当这个项目开始时,我们得到的关于我们要做的系统的唯一说明是一页Word文档 ...

最新文章

  1. MongoDB使用小结:一些常用操作分享
  2. 毕业一两年,怎样快速成长和晋升?
  3. Java ThreadLocal 使用详解
  4. AI加持的竖屏沉浸播放新体验
  5. 新海诚没有参与制作的作品_继《你的名字》之后,新海诚又出新作啦!!
  6. OpenSSH 远程拒绝服务漏洞
  7. 联想集团委任杨澜为独立董事:任期三年年薪235万元
  8. 帝国cms数据库php调用tag,帝国CMS列表内容模板调用TAG的两种方法
  9. 如果有多个虚拟机,手动启动哪个
  10. 面试稳了!集齐几千名程序员精选的 100 道前端面试题!
  11. 虚幻4皮肤材质_虚幻4果真被玩坏了?浅谈光影与材质带来的极致体验
  12. 欣欣向荣的Ruby家族
  13. virtualbox vbox虚拟机去虚拟化软件使用教程 硬件级虚拟机系统 超能版 V2020
  14. canvas画布中实现气泡
  15. VMWARE安装苹果虚拟机,能联网能加AppleID
  16. 打印样式CSS的技巧和要点介绍
  17. android 计步器
  18. 手动安装MySQL和彻底删除MySQL
  19. murmurhash2 Python实现(复现开源项目主页上的 Murmurhash2)
  20. [含论文+源码等]Javaweb医院分诊挂号管理系统SSH

热门文章

  1. 成都盛铭轩:详情页怎么设计
  2. 【Git】Git国内官网下载地址、淘宝镜像下载地址以及卸载安装
  3. matlab中变量的命名规则
  4. Maven项目快速打包
  5. 速轩三维 - 手持式激光三维扫描仪
  6. Python操作Word(Win32com)
  7. 【转】AB实验设计思路及实验落地 ABtest不平衡
  8. 高效程序员的七个习惯
  9. 复工后的前端学习建议,非常实用!
  10. 黑马点评项目-优惠券秒杀