我将INET
与OMNET++
一起使用Framework 4.0。是否可以通过节点子模块的c++
文件(在我的情况下为Ieee80211MgmtAdhoc
模块)将节点的位置手动更改为所需的自定义位置?
答案 0 :(得分:1)
从C ++代码指定节点位置正是移动性模块所做的。简短的答案是。通过从适合您需要的基础移动性模块派生出自己的移动性模块,然后将该模块安装到主机中。
请注意,您所暗示的方法是存在一个移动性模型,您可以从另一个模块(例如setPosition()
)调用Ieee80211MgmtAdhoc
函数,这是一种反模式 。所有确定节点位置的代码都应在其自己的(移动性)模块中提供。将定位逻辑混入不相关的模块(管理模块)中是违反关注点分离原则的,并且在以后尝试重用组件时会成为障碍。
您应该采用其他方式。如果模块位置某种程度上取决于管理模块的状态(即,当您与之关联时,您想移向访问点),那么移动性模块应该进入管理模块(或所需状态)。以此为基础计算位置。