问题标签 [inet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1771 浏览

c++ - omn​​et 中的导航层次结构错误:模拟以退出代码终止:139

我正在尝试使用以下代码导航到 2 级模块:-

输出是: -

但是,当我直接尝试通过以下代码访问 udpApp[0] 时:-

模拟在运行时结束并出现以下错误:模拟以退出代码终止:139,这意味着分段错误。但是,如果我使用任何其他模块,例如“mobility”而不是“udpApp [0]”,那么它可以正常工作。

任何人都可以帮我找出解决这种情况的可能方法。

0 投票
1 回答
554 浏览

c++ - 在其他模块中通过 cPar 更改模型参数

我正在使用这个模块层次结构:

  • Node: {udpApp[0]<->udp<->networkLayer->wlan[0]} and wlan[0]: {CNPCBeacon<->mac<->radio}

我在ini文件中给出了一些初始参数udpAppas :

但是在运行时我想通过模块更改startTimeand stopTimefor 。因此,我更改为:-udpAPP[0]CNPCBeaconCNPCBeacon.cc

而且我能够成功接收 和 的startTimestopTime。但是我想在当前模块中更改这些值,这会通过以下代码导致错误:

任何人都可以建议我在运行时更改它的方法。

0 投票
2 回答
532 浏览

c++ - 在运行时通过另一个模块回调(重新实例化)一个模块并更改参数

我正在使用这个模块层次结构:

使用 udpApp 的一些 ini 参数作为: 我在 udpApp 的 ini 文件中给出了一些初始参数:

但在运行时,我想通过 CNPCBeacon 模块更改 udpAPP[0] 的 startTime 和 stopTime 。

因此,我将 CNPCBeacon.cc 更改为:-

其中成功更改了参数。但是它不会udpApp[0]再次启动模块。所以我尝试使用这个模块的动态转换:

并导致以下错误:-

模块 (CNPCBeacon) BSoneNode.gw1.wlan[0].CNPCBeacon (id=23) 在事件 #1496 中出错,t=4:在上下文中调用模块 (UDPBasicApp)BSoneNode.gw1.udpApp[0] 的 scheduleAt()模块 (CNPCBeacon)BSoneNode.gw1.wlan[0].CNPCBeacon:从后一个模块调用的方法缺少 Enter_Method() 或 Enter_Method_Silent()?

还有其他方法可以通过其他子模块实例化模块吗?

感谢您的帮助。

0 投票
1 回答
267 浏览

c++ - OMNeT++ 和 INET:使用 3rd Party-Tool 时出错

我正在使用 OMNet++ 和 INET 来模拟 UDP 网络。UDPBurst我稍微改变了这个例子:

  • 更改RouteretherSwitch
  • 用作ThruputMeteringChannel连接

现在我改变了ThruputMeteringChannel.cc,所以我可以绘制图表:

启动.ini文件时,我在图形运行时环境中收到错误:

网络设置期间模块 (cModule) UDPBurst.host[0] (id=2) 出错:评估参数“tcpType”时出错:以下 NED 类型均不可用 TCP、TCP_IwIP、TCP_NSC、TCP_Node。

在我的控制台中,构建时没有创建“共享库”。但只有当我使用chart.h

PS:我在虚拟机上使用 Linux(Ubuntu 12.04)。

0 投票
1 回答
426 浏览

omnet++ - Omnet++/INET框架:如何设置和使用UDP模拟应用程序

在我们的模拟中,我们试图模拟 LISP 移动协议和 INET 框架,其中一个移动节点和一个固定节点(一个非移动的对应节点)交换 UDP 数据包。这就是为什么我们决定将其UDPBasicApp用作模拟应用程序并将其提供给两个节点。

我们看到的问题是没有生成 UDP 数据包,并且initialize()里面的方法UDPBasicApp被多次调用。

这是因为类中的地址数组是空的,所以它总是返回而不安排新的事件。

现在的问题是如何知道哪些是节点的 IP 地址,以便我们可以将它们写入.ini文件中。你知道如何?

0 投票
1 回答
2380 浏览

omnet++ - Omnet/Inet:如何访问类/子模块以获取变量值

在我的模拟中,有一个由 inet 框架中的以下组件组成的移动节点:

现在,我正在研究inet 框架也提供的UdpAppwhich UDPVideoStreamCli.ccis 作为示例 udp 应用程序之一。

现在,正如您从图像中看到的那样,我必须访问 lisp 模块(它是 的一个实例LispRouting.cc),因为我必须读取一些值或调用该类的一些公共方法......我该怎么做?我只知道我必须从

但后来我不知道如何继续......你能帮忙吗?

0 投票
2 回答
302 浏览

simulation - omn​​et++/INET:添加到cMessage的参数接收时变为0

在我们的模拟中,我们向 cMessage 类添加了两个受保护的字段:

我们添加以下公共方法

现在,当服务器模拟应用程序运行时,在它执行每条消息 seding 之前:

另一方面,当模拟应用程序客户端接收到消息时,如果执行:

问题是客户端正确写入了 SeqNo,因为它在发送之前由服务器设置。相反,方法

当服务器在服务器日志文件中正确设置时,总是在客户端日志文件中返回 0。我不明白为什么,可能在客户端应用程序中 cMessage 到 cPacket 之间的转换发生了一些奇怪的事情......你知道吗?

0 投票
0 回答
657 浏览

mobile - Omnet++/Inet:向 .NED 场景添加组件时如何调整路由文件

对于一项考试,我们正在研究 LISP Mobile(定位器/标识符分离协议),我们已要求德国大学的一些研究人员向我们发送他们的带有 Omnet++/Inet 的 LISP 模拟器。在里面,我们发现了以下对我们非常有用的场景:

我们有一个带有两个 wlan 接口的 lispMobileNode 多宿主,它从一个非移动的通信节点接收 UDP 数据包(特别是 VoIP 或视频),称为标准主机。此方案按预期完美运行,并且路由器正确实现了 LISP 协议。现在,我们的老师要求我们扩展这个场景:特别是我们应该在三个不同的 LISP 网络之间收集两次切换/切换的数据,因此添加了所需的模块,场景变成了这样:

问题是,即使lispMobileNode 正确连接到 wirelessRouter 3 并在停止从 wirelessRouter2 接收后获得相对正确的 IP 地址,但是此信息不会转发到下面的 LISP 路由器网络,因此来自 standardHost 的 UDP 数据包继续存在路由到无线路由器2。我确信我们为每个新组件编写的 .irt 路由文件一定存在问题,所以我想知道您是否可以帮助我处理它们,因为在我之前的 Omnet++ 经验中,我不需要使用 .irt 进行管理。 irt 文件,所以我不是专家。首先是我们在模拟器中找到的文件:

lisprouter1.irt

lisprouter2.irt

lispRouter3.irt

地图服务器.irt

PITR.irt

无线路由器1.irt

无线路由器2.irt

最后这些是我们添加的文件(除了 router.irt 我们只添加了一些行)

lispRouter4.irt

PITR2.irt

路由器.irt

无线路由器3.irt

最后但最重要的是omnet.ini文件:

请原谅我的长篇文章,我确定我在这些路由文件中犯了一个愚蠢的错误,但我找不到在哪里。感谢您的关注。

ps:如果你想在这里你可以归档.NED的完整源代码

编辑: 我刚刚注意到问题可能出在初始配置阶段。事实上,在控制台 EV 上,我可以读取几条这种类型的消息:

这条消息中有很多关于 192.168.0.7 的消息,并且在某个时候它放弃了。换句话说,PITR2 不会将 MapRequest 从 lispRouter4 转发到 MapServer 和中央路由器;相反,PITR2 将 MapRequest 发送回 lispRouter4。那么lispRouter4上的那个ppp0有什么东西吗?

0 投票
1 回答
93 浏览

mobile - Omnet++/Inet:2 个 lisp 路由器不断地互相弹跳消息而不被转发

在 Omnet++/Inet 场景中,我有几个无法通信的 LISP 路由器。我的意思是MapRequestLISP router1to发送的消息LISP router2没有按预期转发到中央网络,而是router2将消息发送回 torouter1并生成以下消息错误


我不明白为什么会发生这种情况,因为在系统中我有另外几个 lisp 路由器,它们按预期完美地工作。.irt所以我认为文件中一定有错误。.irt与工作路由器相比,我以镜面反射的方式编写了文件,只更改了 IP 地址。我不知道“接口 ppp0 不广播”是什么意思......这是添加的路由器的文件:

PITR2.irt

lispRouter4.irt

最后是 .NED 文件中的链接:

你有什么主意吗?谢谢

0 投票
1 回答
908 浏览

c++ - 如何使用自定义消息扩展 Inet 的不同模块?

我已经为 INET (AODV) 模拟启动并运行了所有示例。我的网络由许多 AODV 路由器主机组成。

我的下一个任务是交换一些关于每个主机当前位置的自定义消息(将在一定时间后通过 Mobility 更新)。我发现的所有示例(通常)都是要求我在文件tictoc中构建一个然后在文件中使用该模块。我想使用该模块来交换这些消息(因为它已经实现了我需要的网络实现的东西)。simpleModule.cc.nedAODVRouter

是我用来与cSimpleModule

我已经尝试过这个例子(如 INET 项目中所述),但这里的问题是它只是扩展cSimpleModule. 由于我想使用AODVRouter模块(来自 INET)作为我的发送者和接收者,我不能使用这个例子。所以我的问题是,另一种方法是什么(即通过模块等INET模块发送和接收消息AODVRouter)。