繁体   English   中英

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

[英]How to extend different Modules of Inet with custom messages?

我已经为INET(AODV)仿真准备了所有示例并正在运行。 我的网络由AODV路由器主机的数量组成。

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

是我用于与cSimpleModule交换消息的示例

我已经尝试了这个示例(如INET项目中所述),但是这里的问题是它仅扩展了cSimpleModule 由于我想使用AODVRouter模块(来自INET)作为发送者和接收者,因此无法使用此示例。 所以我的问题是,还有什么其他方式可以做到这一点(即通过INET模块(例如AODVRouter模块)发送和接收消息)。

您如何处理此问题取决于这些消息是什么,以及它们与AODV协议的关系。

  • 如果您尝试使用某些位置感知功能来扩展AODV协议,并且该位置将由路由协议本身使用,那么您显然应该查看AODVRouting 源代码 您可以在此处查看如何发送/接收消息。

  • 如果消息与AODV完全无关,并且您想实现某种应用程序级别的消息交换,则方法是创建一个“应用程序”模块并将其安装到路由器中。 当然,您必须知道要使用TCP还是UDP发送数据(我猜UDP是因为它更适合于面向消息的数据交换)。 那时,您应该实现类似UDPBasicApp的功能 ,并创建自己的PacketType,其中包含要传输的数据(即节点的坐标)。 使用它开始。

通常,TicToc教程只是一个基本示例,用于说明OMNeT ++内核如何完成发送。 在INET中进行发送需要进行其他工作,具体取决于您尝试从哪个OSI层发送数据。 例如,在应用程序层上,您必须打开套接字(请参见代码)并将其用于发送。 INET代码库的其余部分将处理将信息正确嵌入较低层数据包(UDP,IP,以太网)的复杂性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM