我是靠谱客的博主 呆萌大炮,最近开发中收集的这篇文章主要介绍omnet++中基础案例tictoc1内容解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一个最基本的工程包含:

.ned文件:网络描述语言,用来描述网络,包括了最基本的节点以及节点的构成。

.cc文件:源代码。

.ini文件:初始化文件。 

tictoc1内容解析:

ned文件:

simple Txc1
{
gates:
input in;
output out;
}
network Tictoc1
{
submodules:
tic: Txc1;
toc: Txc1;
connections:
tic.out --> {
delay = 100ms; } --> toc.in;
tic.in <-- {
delay = 100ms; } <-- toc.out;
}

simple关键字,定义节点Txc1。gate关键字,门,两个,输入与输出。

network关键字,网络,后面是该网络的名称。和ini初始化文件中的名称相同。

display关键字,显示。bgb,背景。

submoudles,子模块,有两个最基本的元素tic和toc,都是从之前定义的Txc1节点中派生出来的,只是它们的显示不一样,p表示坐标。

connection关键字,连接,讲两个节点之间是如何连接的。tic输出门连到了toc输入门。toc的输出门连到了tic输入门。delay代表传输过程中的延迟。

cc文件:

#include <string.h>
#include <omnetpp.h>
using namespace omnetpp;
class Txc1 : public cSimpleModule
{
protected:
virtual void initialize() override;
virtual void handleMessage(cMessage *msg) override;
};
void Txc1::initialize()
{
if (strcmp("tic", getName()) == 0) {
cMessage *msg = new cMessage("tictocMsg");
send(msg, "out");
}
}
void Txc1::handleMessage(cMessage *msg)
{
send(msg, "out"); // send out the message
}

头文件,omnetpp.h是omnet自带的,很多库函数都在这里面。using namespace,名字空间,指标识符的各种可见范围。

class Txc1,定义一个类。protected,这个类可以有什么行为,txc1有两个最基本的功能,初始化发送信息。

void Txc1::initialize(),讲如何初始化。getname获取模块名称,为了获取tic和toc。 strcmp用来进行字符串的比较。if这整段的意思是,找到tic节点。找到tic节点之后,生成一个消息,消息的名称为tictocMsg,生成之后,将该消息通过out门发送出去。

void Txc1::handleMessage(cMessage *msg),收到消息之后,把message传进来,send(msg, "out"),将收到的消息从out门发出去。

右键点击ini文件,run as > run configurations...,在config name中选择tictoc1即可运行。step单步执行,run正常执行,仿真结束后可点击conclude simulation查看仿真结果。

最后

以上就是呆萌大炮为你收集整理的omnet++中基础案例tictoc1内容解析的全部内容,希望文章能够帮你解决omnet++中基础案例tictoc1内容解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部