2022-04-21 Omnet学习笔记(一)

article/2025/7/20 21:16:34

Omnet学习笔记(一)

前言
1、本机为Inspiron 5005,为64位,所用操作系统为Windos 10。所使用软件为Omnet-5.2.1
2、推荐Omnet入门教程系列


实验现象
在网络Tictoc1中创建两个节点,分别命名为"tic""toc",然后"tic"创建一个数据包,然后"tic""toc"将这个数据包进行相互传递。(注:效果演示如下图所示)

在这里插入图片描述

重要知识点讲解
1、本实验中的Omnet项目中的主要文件有.ned文件、.cc文件、.ini文件。
2、.ned文件用于规定网络模块中的组成和链接。
3、.ned文件有可视化(Design)以及代码(Source)两种方式进行编辑。
4、所用到.ned语法简介。

保留字作用
simple定义简单模块
gates定义门
input定义输入
output定义输出
network定义网络模块
submodules定义子模块
connection定义连接

5、.cc文件用于规定网络模块的操作内容。
6、.ini文件用于定义网络的仿真环境。

实现步骤
1、点击File —> new —> OMNeT++Project创建一个工程。

2、在红框所圈处为自己的工程命名,命名完成后点击Next

3、点击Empty project —> Next

4、点击Finish即可完成工程创建。

5、右键自己创建工程,然后点击New —> Network Discription file创建Ned文件。

6、在红框所圈处为自己的Ned文件命名,命名完成后点击Next

7、点击Empty NED file —> Finish即可完成.ned文件创建。

8、打开.ned文件,点击source,在如下界面写自己的代码。

(注:示例代码如下)

//将Txc1声明为简单类型模块
simple Txc1
{gates:input in;     //一个输入门output out;   //一个输出门
}//声明Tictoc1为一个网络模块
network Tictoc1     
{submodules:     //Tictoc1由两个子模块tic和toc组装而成,这两个子模块都是Txc1模块类型的实例tic: Txc1;        toc: Txc1;connections:    //tic的输出门连接到toc的输入门,反之亦然,双向都会有100毫秒的传播延迟。tic.out --> {  delay = 100ms; } --> toc.in;tic.in <-- {  delay = 100ms; } <-- toc.out;
}

9、右键自己创建工程,然后点击New —> Source File创建.cc文件。

10、在红框所圈处以xx.cc格式为自己的.cc文件命名,完成后点击Finish即可实现.cc文件的创建。

11、打开.cc文件,在如下界面写自己的代码。

(注:示例代码如下)

#include <string.h>
#include <omnetpp.h>using namespace omnetpp;/*** 类Txc1继承cSimpleModule,在Tictoc1 网络结构中,tic和toc斗士Txc1类的实例,* 他们在仿真程序开始运行的时候就会被创建*/
class Txc1 : public cSimpleModule
{protected://重定义下面的虚函数virtual void initialize() override;virtual void handleMessage(cMessage *msg) override;
};// 定义的类Txc1都需要在OMNET++注册后才可以被使用
Define_Module(Txc1);void Txc1::initialize()
{// 仿真开始最初运行的程序.// 引导运行tic-toc-tic-toc进程, // 其中一个模块需要发送第一条信息,我们让tic先发送。// 首先判断是tic还是toc,如果是ticif (strcmp("tic", getName()) == 0) {// 在out门(gate) 发送第一条信息,我们在message对象中随意发了一个 "tictocMsg"cMessage *msg = new cMessage("tictocMsg");send(msg, "out");}
}void Txc1::handleMessage(cMessage *msg)
{// handleMessage()函数:当信息传输到当前module时被唤醒// 这这个module中的这个函数,我们仅仅从out gate 中发送msg。// 因为tic和toc都做同样的事情,所以他们会来来回回的互发信息send(msg, "out"); //发送消息
}

12、右键自己创建工程,然后点击New —> Initialization File创建.ini文件。

13、在红框所圈处以xx.ini格式为自己的.ini文件命名,完成后点击Next

14、点击Finish即可完成.ini文件创建。

15、打开.ini文件,点击source,在如下界面写自己的代码。

(注:示例代码如下)

[General]
network = Tictoc1

16、点击红框中的运行按钮。

17、点击红框中的仿真运行按钮即可开始运行仿真,实验出现实验现象即完成。


http://chatgpt.dhexx.cn/article/Gh5bG3ub.shtml

相关文章

OMNeT++学习(概述+框架)一

中文手册地址 之前一直学习的是mininet&#xff0c;但是所做的方向有一个开源的代码&#xff0c;和我需要的框架一样&#xff0c;它用的仿真器是Omnetpp-5.4.1。 概述 omnet是开源的基于组件的模块化的开放网络仿真平台。是离散事件仿真器&#xff0c;具备强大完善的图形界面…

OMNeT学习之OMNeT安装与运行

OMNeT学习之OMNeT安装与运行 前言 本文原创&#xff0c;创作不易&#xff0c;转载请注明&#xff01;&#xff01;&#xff01; 本人为OMNet初学者&#xff0c;如有错误&#xff0c;请不吝请教&#xff01; 最近学WSN(无线传感器网络)&#xff0c;做传感器实验&#xff0c;老…

omnet++ 快速入门 | 计算机网络仿真 | omnet++ 入门教程

文章目录 omnet1 网络仿真软件综述01 wsn仿真软件02 为什么使用omnet03 学习资料04 目标 2 omnet介绍1 omnet安装与启动2 使用omnet仿真的一般步骤3 新建项目 3 定义仿真网络的拓扑结构01 新建一个空的 network02 Module的概念01-Module的概念02-Module Type的定义步骤1. ned文…

无图无真相!设计模式概览

设计模式太多&#xff0c;最近没有更新&#xff0c;最后想想还是看一点更新一点吧。

Mac系统Safari浏览器启动无图模式

有的时候我们用热点上网&#xff0c;图片的出现会消耗大量的流量&#xff0c;这时候就需要启动无图模式不加载图片。 步骤&#xff1a;启动Safari浏览器->偏好设置->高级->勾选“在菜单栏中显示“开发”菜单”->点击开发菜单->勾选“停用图像” 转载于:https://…

无图无真相!工厂模式结构

抽象类工厂模式结构图&#xff1a; 接口类工厂模式结构图&#xff1a; 工厂模式示例代码 工厂静态方法说明

设计模式之代理模式(Proxy Pattern)

1.概念 为其他对象提供一种代理&#xff0c;以控制对这个对象的访问。代理对象起到中介作用&#xff0c;可去掉功能或者增加额外功能。 2.角色 抽象主题角色&#xff08;Subject&#xff09;&#xff1a;声明了目标对象和代理对象的共同接口&#xff0c;这样一来在任何可以使用…

树莓派4B配置Selenium库+设置无图无头属性

写一个树莓派4B配置selenium库&#xff0c;并成功调用浏览器进行自动化爬虫 本文会手把手教你配置环境&#xff0c;并带你写第一个selenium爬虫程序 使用版本说明 系统&#xff1a;官网2020-02-13-raspbian-buster-full Python&#xff1a;树莓派自带的3.7.3 以下所有的pip操…

屏蔽图片的chrome插件

有时候觉得CSDN博客的广告好烦啊&#xff0c;还有有些看小说的网站&#xff0c;于是找了个屏蔽图片的插件。 效果如图&#xff1a; 之前博客的广告 之后&#xff1a; CSDN的广告有字&#xff0c;所以不会完全不显示&#xff0c;但是有很多小说网站都可以直接全部屏蔽掉…

python selenium playwright库使用教程 破解网页防止开发者模式 截取数据请求

安装chromedriver 下载 chromedriver的版本一定要与Chrome的版本一致&#xff0c;不然就不起作用。 有两个下载地址&#xff1a; 1、http://chromedriver.storage.googleapis.com/index.html 2、CNPM Binaries Mirror 当然&#xff0c;你首先需要查看你的Chrome版本&…

360浏览器,怎么开启无图片模式,在开热点的时候,省流量

如果某些网站&#xff0c;我需要加载图片&#xff0c;如csdn上传图片的时候。 这时候我们需要进行放权&#xff1a;

【Playwright】关于无痕模式与无头模式

Playwright的无头模式和无痕模式 无头模式 无头模式指的是自动测试框架在执行过程中不打开浏览器窗口的功能。在Playwright中&#xff0c;关闭无头模式会在测试代码执行过程中显示浏览器窗口&#xff0c;执行的过程会显示在浏览器的上。 # 以下代码以Playwright的同步API为例…

爬虫之selenium开启无界面模式

绝大多数服务器是没有界面的&#xff0c;selenium控制谷歌浏览器也是存在无界面模式的&#xff08;又称之为无头模式&#xff09; 开启无界面模式的方法 实例化配置对象 options webdriver.ChromeOptions()配置对象添加开启无界面模式的命令 options.add_argument("--he…

locust入门 -6 无图模式和分布式执行

无图模式 无图模式即不通过UI界面进行执行locust测试用例。locust提供了命令参数&#xff0c;我们只需要在执行时添加一个--headless标签即可 “Disable the web interface, and start the test immediately. Use -u and -t to control user count and run time ” 以下内容为…

Python爬虫配置Selenium库+设置无图无头属性

出一个最新windows下配置selenium全环境的教程~ 本文会手把手教你配置环境&#xff0c;并带你写第一个selenium爬虫程序 环境配置 1.安装Selenium库 Python和Anaconda-Python中并不包含Selenium包&#xff0c;这里我们要安装一下Selenium这个包 以下三种方式认选一种即可&am…

chrome如何进入无图模式?

chrom只显示文字不显示图片 隐私和安全-图片 可以设置所有网站都不显示图片 自定义指定网站不允许显示图片

locust入门 —— 无图模式和分布式执行

无图模式 无图模式即不通过UI界面进行执行locust测试用例。locust提供了命令参数&#xff0c;我们只需要在执行时添加一个--headless标签即可 “ Disable the web interface, and start the test immediately. Use -u and -t to control user count and run time ” 以下内容为…

PC端浏览器如何设置无图模式

以谷歌浏览器为例&#xff0c;注意有些浏览器并不支持该功能。 1&#xff09;打开自定义与控制 2&#xff09;选择设置 3&#xff09;查看左边状态栏&#xff0c;选择高级设置--》隐私设置和安全性 4&#xff09;选择内容设置 5&#xff09;图片 6&#xff09;选择不显示任何图…

火狐浏览器设置无图模式

步骤一 打开火狐浏览器&#xff0c;在地址栏输入about:config&#xff0c;然后回车 步骤二 在出来的页面中搜索&#xff1a;permissions.default.image 步骤三 把 permissions.default.image 设成 2 保存。 效果

万向锁的简单数学解释

我们知道用欧拉角表示空间的旋转&#xff0c;容易产生万向锁(Gimbal Lock)问题&#xff0c;这常常不太容易理解。下面给出一个直观的数学解释。 欧拉角表示的空间旋转&#xff0c;可以用绕三个坐标轴的旋转矩阵的乘积表示 万向锁问题就是出现在这种表示方法中。 假如我们令 β…