我刚开始使用omnet++。所以我有两个模块在我的网络-源和接收器。我的汇聚节点向传感器节点发送两种消息。为此我使用send()函数。现在我如何在传感器节点一侧检查它收到了什么类型的消息?
可以使用dynamic_cast
来确定接收到的消息是否属于特定类型。
让我们假设一个模块期望两种类型的数据包:Request
和Ack
。下面的代码段显示了如何确定消息的类型。
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
}
}