Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Omnet++ 如何知道每个节点的状态/统计信息/omnet?_Omnet++_Veins - Fatal编程技术网

Omnet++ 如何知道每个节点的状态/统计信息/omnet?

Omnet++ 如何知道每个节点的状态/统计信息/omnet?,omnet++,veins,Omnet++,Veins,我们如何知道哪个节点发送了哪个消息,哪个节点接收了它?当汽车广播信息时,我想知道谁都收到了。我们有没有办法了解全球知识? 我确实看到了数据包流量的日志,但我如何才能在其中包含更多信息?如何在快速模式下启用它 这在广播环境中很难确定,但是您最好的机会是创建一个额外的模拟模块(或只是一个类) 如果提供packetSent()和packetReceived()方法,则此PacketMonitor可以像oracle一样工作 您需要为每条消息分配ID,然后在发送和接收消息时,分别使用上述方法在Packet

我们如何知道哪个节点发送了哪个消息,哪个节点接收了它?当汽车广播信息时,我想知道谁都收到了。我们有没有办法了解全球知识?
我确实看到了数据包流量的日志,但我如何才能在其中包含更多信息?如何在快速模式下启用它

这在广播环境中很难确定,但是您最好的机会是创建一个额外的模拟模块(或只是一个类)

如果提供
packetSent()
packetReceived()
方法,则此
PacketMonitor
可以像oracle一样工作

您需要为每条消息分配ID,然后在发送和接收消息时,分别使用上述方法在
PacketMonitor
的类似表格的数据结构中“注册”消息


这不是一个非常复杂的解决方案,但它需要正确的设计和一些额外的思考,以了解如何捕获所有潜在的场景。

感谢您的评论。我也想到过类似的东西,但当发送的消息超过10000条时,我会存储消息ID,我会想到类似于在数据包流量窗口中显示发送和接收的消息ID。另外,是否有任何方法可以在Express模式下启用某些日志?如前所述,最好的方法通常是使用OMNeT++统计框架。这允许您为任何模拟生成输出,并且它将比手动日志记录快几个数量级。不过,这取决于您想要对结果做什么。OMNeT++已经为您提供了唯一的消息标识符(
beacon->getTreeId()
)。@RensvanderHeijden您使用哪个版本的OMNeT++,询问
getTreeId()
。作为将来的参考:我已经使用了
getId()
,它在创建每个
airbrame
消息时被嵌入其中:
frame->setId(world->getuniqueairbrameid())
TreeID为消息提供唯一标识符,而getID为消息的特定副本提供唯一标识符。另见。