如何检查一个模块从另一个模块接收到什么样的消息?



我刚开始使用omnet++。所以我有两个模块在我的网络-源和接收器。我的汇聚节点向传感器节点发送两种消息。为此我使用send()函数。现在我如何在传感器节点一侧检查它收到了什么类型的消息?

可以使用dynamic_cast来确定接收到的消息是否属于特定类型。
让我们假设一个模块期望两种类型的数据包:RequestAck。下面的代码段显示了如何确定消息的类型。

void YourModule::handleMessage(cMessage * msg) {
Request * req = dynamic_cast<Request*>(msg);
if (req != nullptr) {
// req is of Request type
} else {
Ack* ack = dynamic_cast<Ack*>(msg);
if (ack != nullptr) {
// ack is of Ack type
}
}

最新更新