首页 > 解决方案 > 找不到 RoutingAccessTable.h?

问题描述

我正在使用 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 Network 中的邻居列表?

非常感谢。

标签: omnet++inet

解决方案


从 INET 4.0 开始,每个主机都有一个参数routingTableModule表示路由表模块的名称。
以下方法可用于获取对路由表的访问权:

IRoutingTable *routingTable;
routingTable = getModuleFromPar<IRoutingTable>(par("routingTableModule"), this);

推荐阅读