有一个wirelessHost
,它通过AP
与standardHost
通信。wirelessHost
在LinearMobility
中移动,speed
在ini
中配置为40mps。现在我想得到UDPBasicApp
中的速度值,这个值应该发送给接收器(standardHost
(。
注意:我使用的是inet 3.6.7和omnet++5.5.1。
最简单的方法是从Udp应用程序模块直接访问移动模块。Appp和移动模块是主机模块的子模块。因此,您需要在UDP模块中编写以下内容:
cModule* mobilityMod = getParentModule()->getSubmodule("mobility", 0);
通常移动性是移动性模块的名称,如果它有另一个名称,则必须在getSubmodule()
功能中更改它。您可以制作dynamic_cast来评估移动性的tyoe,并可以访问其内部功能。例如:
dynamic_cast<LinearMobility*>(mobilityMod)->getSpeed();
CCD_ 11或任何其它getter或setter函数。此链接中的更多帮助:https://doc.omnetpp.org/omnetpp/api/classomnetpp_1_1cModule.html