【发布时间】:2021-03-11 20:28:38
【问题描述】:
我是 Omnet++ 的新手,我正在构建我的第一个网络,其中消息必须通过特定路由。这是我正在使用的示例网络的简化版本。
当接收到一个请求时,它必须经过一个特定的路由。例如; A->B->E->D->E->C
我的问题是在处理门时出现的。我的第一直觉是创建一个特定于每个模块之间连接的inout 门。因此 A->B 将拥有自己的 inout 门,B->E 将拥有自己的 inout 门,等等。但是,随着网络的增长,这导致需要管理的门数量非常多。
我的第二次尝试是创建 inout gates 数组。我的连接如下:
A.nodeGates++ <--> B.nodeGates++;
A.nodeGates++ <--> C.nodeGates++;
A.nodeGates++ <--> D.nodeGates++;
C.nodeGates++ <--> E.nodeGates++;
B.nodeGates++ <--> E.nodeGates++;
D.nodeGates++ <--> E.nodeGates++;
在 cpp 文件中,我会在 handleMessage 函数中调用 send(msg, "nodeGates$o", indexId);。有没有办法根据模块名称映射 indexId ?例如,当我在模块 A 中时,对于路线 A->B->E->D->E->C,我会动态找到要从 A 出发的 indexId 到 B。一旦在 B,我会找到 indexId 去 E 等等。
有没有办法动态找到两个节点之间的 indexId 以遵循精确的路线?
【问题讨论】:
标签: omnet++