问题标签 [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.
c++ - omnet 中的导航层次结构错误:模拟以退出代码终止:139
我正在尝试使用以下代码导航到 2 级模块:-
输出是: -
但是,当我直接尝试通过以下代码访问 udpApp[0] 时:-
模拟在运行时结束并出现以下错误:模拟以退出代码终止:139,这意味着分段错误。但是,如果我使用任何其他模块,例如“mobility”而不是“udpApp [0]”,那么它可以正常工作。
任何人都可以帮我找出解决这种情况的可能方法。
c++ - 在其他模块中通过 cPar 更改模型参数
我正在使用这个模块层次结构:
Node: {udpApp[0]<->udp<->networkLayer->wlan[0]} and wlan[0]: {CNPCBeacon<->mac<->radio}
我在ini
文件中给出了一些初始参数udpApp
as :
但是在运行时我想通过模块更改startTime
and stopTime
for 。因此,我更改为:-udpAPP[0]
CNPCBeacon
CNPCBeacon.cc
而且我能够成功接收 和 的startTime
值stopTime
。但是我想在当前模块中更改这些值,这会通过以下代码导致错误:
任何人都可以建议我在运行时更改它的方法。
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()?
还有其他方法可以通过其他子模块实例化模块吗?
感谢您的帮助。
c++ - OMNeT++ 和 INET:使用 3rd Party-Tool 时出错
我正在使用 OMNet++ 和 INET 来模拟 UDP 网络。UDPBurst
我稍微改变了这个例子:
- 更改
Router
为etherSwitch
- 用作
ThruputMeteringChannel
连接
现在我改变了ThruputMeteringChannel.cc
,所以我可以绘制图表:
- 从 ( http://kuepper.userweb.mwn.de/software.htm )复制文件 (
.c
& ).h
- 添加导入
chart.h
到ThruputMeteringChannel.cc
- 将 Chart 程序中的示例 1 添加到
initialize()
方法中
启动.ini
文件时,我在图形运行时环境中收到错误:
网络设置期间模块 (cModule) UDPBurst.host[0] (id=2) 出错:评估参数“tcpType”时出错:以下 NED 类型均不可用 TCP、TCP_IwIP、TCP_NSC、TCP_Node。
在我的控制台中,构建时没有创建“共享库”。但只有当我使用chart.h
PS:我在虚拟机上使用 Linux(Ubuntu 12.04)。
omnet++ - Omnet++/INET框架:如何设置和使用UDP模拟应用程序
在我们的模拟中,我们试图模拟 LISP 移动协议和 INET 框架,其中一个移动节点和一个固定节点(一个非移动的对应节点)交换 UDP 数据包。这就是为什么我们决定将其UDPBasicApp
用作模拟应用程序并将其提供给两个节点。
我们看到的问题是没有生成 UDP 数据包,并且initialize()
里面的方法UDPBasicApp
被多次调用。
这是因为类中的地址数组是空的,所以它总是返回而不安排新的事件。
现在的问题是如何知道哪些是节点的 IP 地址,以便我们可以将它们写入.ini
文件中。你知道如何?
omnet++ - Omnet/Inet:如何访问类/子模块以获取变量值
在我的模拟中,有一个由 inet 框架中的以下组件组成的移动节点:
现在,我正在研究inet 框架也提供的UdpApp
which UDPVideoStreamCli.cc
is 作为示例 udp 应用程序之一。
现在,正如您从图像中看到的那样,我必须访问 lisp 模块(它是 的一个实例LispRouting.cc
),因为我必须读取一些值或调用该类的一些公共方法......我该怎么做?我只知道我必须从
但后来我不知道如何继续......你能帮忙吗?
simulation - omnet++/INET:添加到cMessage的参数接收时变为0
在我们的模拟中,我们向 cMessage 类添加了两个受保护的字段:
我们添加以下公共方法
现在,当服务器模拟应用程序运行时,在它执行每条消息 seding 之前:
另一方面,当模拟应用程序客户端接收到消息时,如果执行:
问题是客户端正确写入了 SeqNo,因为它在发送之前由服务器设置。相反,方法
当服务器在服务器日志文件中正确设置时,总是在客户端日志文件中返回 0。我不明白为什么,可能在客户端应用程序中 cMessage 到 cPacket 之间的转换发生了一些奇怪的事情......你知道吗?
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有什么东西吗?
mobile - Omnet++/Inet:2 个 lisp 路由器不断地互相弹跳消息而不被转发
在 Omnet++/Inet 场景中,我有几个无法通信的 LISP 路由器。我的意思是MapRequest
从LISP router1
to发送的消息LISP router2
没有按预期转发到中央网络,而是router2
将消息发送回 torouter1
并生成以下消息错误
我不明白为什么会发生这种情况,因为在系统中我有另外几个 lisp 路由器,它们按预期完美地工作。.irt
所以我认为文件中一定有错误。.irt
与工作路由器相比,我以镜面反射的方式编写了文件,只更改了 IP 地址。我不知道“接口 ppp0 不广播”是什么意思......这是添加的路由器的文件:
PITR2.irt
lispRouter4.irt
最后是 .NED 文件中的链接:
你有什么主意吗?谢谢
c++ - 如何使用自定义消息扩展 Inet 的不同模块?
我已经为 INET (AODV) 模拟启动并运行了所有示例。我的网络由许多 AODV 路由器主机组成。
我的下一个任务是交换一些关于每个主机当前位置的自定义消息(将在一定时间后通过 Mobility 更新)。我发现的所有示例(通常)都是要求我在文件tictoc
中构建一个然后在文件中使用该模块。我想使用该模块来交换这些消息(因为它已经实现了我需要的网络实现的东西)。simpleModule
.cc
.ned
AODVRouter
这是我用来与cSimpleModule
我已经尝试过这个例子(如 INET 项目中所述),但这里的问题是它只是扩展cSimpleModule
. 由于我想使用AODVRouter
模块(来自 INET)作为我的发送者和接收者,我不能使用这个例子。所以我的问题是,另一种方法是什么(即通过模块等INET模块发送和接收消息AODVRouter
)。