Omnet++ 如何在其他类中使用sendDirect()函数发送消息?

Omnet++ 如何在其他类中使用sendDirect()函数发送消息?,omnet++,Omnet++,当我尝试像这样调用sendDirect()函数时: cSimpleModule *module = new cSimpleModule(); module->sendDirect(msg, nodeId,"io"); 编译器返回此错误: 根据Omnet++文档,此类有一个sendDirect()函数: 我试图在标准cpp文件中使用sendDirect()函数。我所说的标准cpp文件的意思是,它与ned文件没有关系(它没有ned文件模块) 当我在cpp文件中使用sendDirect()函

当我尝试像这样调用sendDirect()函数时:

cSimpleModule *module = new cSimpleModule();
module->sendDirect(msg, nodeId,"io");
编译器返回此错误:

根据Omnet++文档,此类有一个sendDirect()函数:

我试图在标准cpp文件中使用
sendDirect()
函数。我所说的标准cpp文件的意思是,它与ned文件没有关系(它没有ned文件模块)

当我在cpp文件中使用
sendDirect()
函数时,它有一个定义了
Define\u模块(“moduleName”)
sendDirect()
函数直接起作用。它不需要创建任何对象就可以使用它


我的主要问题是,为什么不能在没有模块(相关ned文件)的cpp文件中使用
sendDirect()
函数?如果可能,如何实现?

您希望通过这种方式发送消息来实现什么?你是如何定义nodeId的?我试图在Omnet中模拟一些攻击。为此,我创建了一个新类。其名称
Attack.cpp
。我为该类中的一些攻击定义了函数。例如ddos()、天坑()等。当恶意节点在handleMessage()函数中接收到消息时,我会像这样调用
attack->ddos()
函数,但该函数无法发送消息。因为,我不能在此函数中使用
sendDirect()
函数。每当我使用
sendDirect()
函数时,都会出现错误。我创建
Attack.cpp
类只是为了提高代码的可读性。它不是包含ned文件的omnet模块。您希望通过这种方式发送消息来实现什么?你是如何定义nodeId的?我试图在Omnet中模拟一些攻击。为此,我创建了一个新类。其名称
Attack.cpp
。我为该类中的一些攻击定义了函数。例如ddos()、天坑()等。当恶意节点在handleMessage()函数中接收到消息时,我会像这样调用
attack->ddos()
函数,但该函数无法发送消息。因为,我不能在此函数中使用
sendDirect()
函数。每当我使用
sendDirect()
函数时,都会出现错误。我创建
Attack.cpp
类只是为了提高代码的可读性。它不是具有ned文件的omnet模块。