OMNET++:如何在INET4.0中手动设置节点位置

OMNET++: How to set node position manually in INET 4.0?

本文关键字:设置 节点 位置 INET4 OMNET++      更新时间:2023-10-16

我正在使用INETFramework 4.0和OMNET++。有没有办法通过我的节点的子模块(在我的情况下是Ieee80211MgmtAdhoc模块(的c++文件手动将我的节点位置更改为我想要的自定义位置?

从C++代码中指定节点位置正是移动模块所做的。简短的回答是肯定的。通过从适合您需求的基本移动模块派生来实现您自己的移动模块,然后将该模块安装到主机中。

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

你应该换一种方式。如果模块位置在某种程度上取决于管理模块的状态(即,当您与某个接入点关联时,您想向该接入点移动(,则移动模块应进入管理模块(或所需状态所在的位置(,然后根据该状态计算位置。