是否可以向同一个节点多次发送同一条消息?

Is it possible to sending same message multiple times to the same node?

我想模拟DOS攻击。所以,我想向特定节点多次发送相同的消息。

例如,当我尝试像这样循环执行时:

cMessage *msg = new cMessage("data");
cModule *targetNode = getParentModule()->getSubmodule(node[0]);
for(int i=0; i<5; i++){
    sendDirect(msg, targetNode, "io");
}

我收到这个错误:

在 Omnet 中有什么方法可以做到这一点吗?

是的,但是每次您必须使用 dup() 创建一个 duplicate of the message
所以你的代码可能看起来像:

cMessage *msg = new cMessage("data");
cModule *targetNode = getParentModule()->getSubmodule(node[0]);
for(int i=0; i<5; i++){
    cMessage * copyMsg = msg->dup();
    sendDirect(copyMsg, targetNode, "io");
}
delete msg; // remove original message (no longer needed)