微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Inet 中寻找执行应用层接收消息的最佳方法

如何解决在 Inet 中寻找执行应用层接收消息的最佳方法

我需要找出 Inet 中哪些方法最适合以下条件和请求:

应用层的所有应用程序,如TcpApp、UDPApp、UdpBasicApp等,在接收到消息或数据包时,都采用通用的方法进行处理。例如,当发送 UdpBasicApp 数据包时,该数据包在该函数方法)中进行处理。此外,接收到一个 TcpApp 数据包,该数据包在该函数方法)中进行处理。我猜这个函数方法)在到达所有应用程序之前应该属于公共路径上的一个类(我猜应该在网络层或传输层)。

假设我的 omnetpp.ini 的一部分是:

*.hostA.numApps = 1
*.hostA.app[0].typename = "UdpBasicApp"
*.hostA.app[0].destAddresses = "hostB"
*.hostA.app[0].destPort = 5000
*.hostA.app[0].messageLength = 1000B
*.hostA.app[0].sendInterval = exponential(12ms)
*.hostA.app[0].packetName = "UDPData"

*.hostB.numApps = 1
*.hostB.app[0].typename = "UdpSink"
*.hostB.app[0].localPort = 5000

hostA 和 hostB 是节点。 提前致谢

解决方法

应用程序数据包的内容特定于任何给定的应用程序,因此没有可以捕获“所有”应用程序数据的通用功能。即使有这样的方法,你也不能对数据包做任何事情,因为你不知道包里面是什么以及如何解释它。您只会看到 X 字节的数据。

在下层也没有共同点。

  • 在链路层,如果您有多个网卡,数据可以通过各种接口进入。
  • 在网络层,您可以使用 IPv6 或 IPv4 流量,因此也没有通用路径。
  • 在传输层,您可以使用 UDP、TCP 或 SCTP
  • 在应用程序层,您有许多应用程序,每个应用程序都以不同的方式解释应用程序数据。

简而言之,没有这样的方法,实际上也没有任何意义。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。