OMNET ++:如何在INET 4.0中手动设置节点位置?

时间:2018-07-19 14:24:04

标签: c++ omnet++ inet

我将INETOMNET++一起使用Framework 4.0。是否可以通过节点子模块的c++文件(在我的情况下为Ieee80211MgmtAdhoc模块)将节点的位置手动更改为所需的自定义位置?

1 个答案:

答案 0 :(得分:1)

从C ++代码指定节点位置正是移动性模块所做的。简短的答案是。通过从适合您需要的基础移动性模块派生出自己的移动性模块,然后将该模块安装到主机中。

请注意,您所暗示的方法是存在一个移动性模型,您可以从另一个模块(例如setPosition())调用Ieee80211MgmtAdhoc函数,这是一种反模式 。所有确定节点位置的代码都应在其自己的(移动性)模块中提供。将定位逻辑混入不相关的模块(管理模块)中是违反关注点分离原则的,并且在以后尝试重用组件时会成为障碍。

您应该采用其他方式。如果模块位置某种程度上取决于管理模块的状态(即,当您与之关联时,您想移向访问点),那么移动性模块应该进入管理模块(或所需状态)。以此为基础计算位置。