nodes - 如何在 omnetpp 中使用洪水方法创建路由表
问题描述
目标是创建一个路由表,因此每个节点都可以从任何地方发送消息到具有最多邻居的节点。
假设我有这个网络
所以每个节点的任务就是向node4发送消息。为此,必须有一个路由表来指导所有节点的路由过程。
我想知道如何发送包含有关发送者和接收者 id 和门的信息的消息。因此,我可以将来自所有节点的信息与一个多跳进程结合到一个每个节点都知道的路由表中。此外,对于性能问题,不要向节点发送两次消息也很重要。
在所有节点都知道 routeTable 之后,它们必须开始向 node4 发送消息。当某个时间(t)过去时,这将停止。
我知道我可以使用 gateSize() 找到每个节点的邻居大小。但除此之外,我不知道如何发送包含我想要的所有这些信息的消息。我知道算法 Dijkstra,但我不知道如何在 omnet 中实现它。你能帮助我吗?
解决方案
您要查找的信息在cMessage
课程中实现。
int senderModuleId; // sender module ID -- set internally
int senderGateId; // source gate ID -- set internally
int targetModuleId; // destination module ID -- set internally
int targetGateId; // destination gate ID -- set internally
您可以在此处找到类参考 。
推荐阅读
- spring-boot - 线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/logging/log4j/util/ReflectionUtil
- r - 减去月/年得到年
- django - 如何在 Django 中使 m2m_changed 信号原子化?
- javascript - node.js http 模块请求或响应对象具有 on (addlistener) 方法,但它不在该对象或该原型和构造函数对象内
- python - BS4 find_all 与 Genius Lyrics 中的 mini_card-title 类不匹配
- vue.js - 使用 v-bind 将点击事件绑定到子组件
- java - 为什么我的作业中会出现“Context = NullPointerException”错误?
- r - 如何计算发生之间的时间(和发生的持续时间)
- docker - 本地机器上的领事健康检查失败
- theos - 修复错误“初始化元素不是编译时常量”