我困在这个问题好几天了。 每当我运行OMNet ++模拟时,它都会给我一个运行时异常
“模块中的错误(cModule)CompleteScenarioIncludingGateway(id = 1) 在网络初始化期间:模块不在节点内(节点必须 在ned模块中用@node属性标记。“
我想知道它是什么意思以及如何解决它。
提前致谢。
答案 0 :(得分:1)
表示网络中节点的每个模块(例如主机,路由器)都应标有@node属性(在最新版本的INET中,它被称为@networkNode而不是@node)。以下是INET的NodeBase.ned中的完成方式:
module NodeBase like INetworkNode
{
parameters:
@networkNode
@display("bgb=,448");
...
@networkNode实际上是一个标记,因此放置在节点内的任何模块都可以在模块父链中向上移动,并找到哪个模块代表它所驻留的实际主机。这有助于主机内的模块更容易导航。例如,如果模块对主机的物理位置感兴趣,它会在模块链上向上行进,并在每次检查此模块是否具有@networkNode属性时进行检查。如果确实如此,那么按照惯例,它应该有一个名为"移动性"的子模块。可以用来检索位置。