我想模拟DOS攻击。因此,我想多次向相同的节点发送相同的消息。
例如,当我尝试像这样循环执行时:
cMessage *msg = new cMessage("data");
cModule *targetNode = getParentModule()->getSubmodule(node[0]);
for(int i=0; i<5; i++){
sendDirect(msg, targetNode, "io");
}
我收到此错误:
在Omnet中有什么方法可以做到吗?
答案 0 :(得分:0)
是的,但是每次您必须使用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)