我正在使用aodv路由协议模拟飞行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获取移动广告网络中的邻居列表?
非常感谢。
由于INET 4.0,每个主机都有参数routingTableModule
,它指示路由表模块的名称。
可以使用以下方法获取对路由表的访问权限:
IRoutingTable *routingTable;
routingTable = getModuleFromPar<IRoutingTable>(par("routingTableModule"), this);