首页 > 解决方案 > 我需要澄清 OMNET 中的 sendDirect() 方法

问题描述

下面的代码来自OMNeT++手册。我的问题是:只有当我从复合模块向子模块发送消息时才使用这种方法吗?
如果我可以将其用于模块之间的通信(simpleModule A发送msg到复合moduleB-> 子模块 B1),那么这是否违反了通信必须在同一层次结构级别上遵守的规则?

这是示例代码:

cModule *targetModule = getParentModule()->getSubmodule("node2");
sendDirect(new cMessage("msg"), targetModule, "in");

标签: omnet++

解决方案


不。通常复合模块内的简单模块之间的通信不需要sendDirect(). 这种通信主要使用IdealChannel——即OMNeT++没有错误、零延迟和无限带宽的标准信道。


推荐阅读