我正在模拟使用aodv路由协议的Flying Ad Hoc网络。我想获取邻居节点的列表,以向这些邻居发送随机数。我在Google omnet ++论坛中找到了此代码:
#include "IRoutingTable.h"
#include "RoutingTableAccess.h"
vector<IPAddress> neigh;
IRoutingTable *inet_rt = RoutingTableAccess().get();
neigh.clear();
for (int i=0;i<inet_rt->getNumRoutes(); ++i)
{
const IPRoute *e = inet_rt->getRoute(i);
if (e->getMetric()==1)
{
neigh.push_back(e->getHost());
}
}
但是当我尝试使用它时,我在inet目录中找不到文件“ RoutingTableAccess.h”吗?是否还有其他方法可以使用aodv获取Mobile Ad hod网络中的邻居列表?
非常感谢。
答案 0 :(得分:0)
从INET 4.0开始,每个主机都具有参数routingTableModule
,该参数指示路由表的模块名称。
以下方法可用于获取对路由表的访问:
IRoutingTable *routingTable;
routingTable = getModuleFromPar<IRoutingTable>(par("routingTableModule"), this);