omnet++ - 如何在 omnet++ 中获取模型的节点?
问题描述
我创建了我的网络模型如下:
httpController: HttpController {
parameters:
@display("is=s;p=98.8575,423.675;i=block/cogwheel");
}
host[numclients]: StandardHost;
server1: StandardHost {
@display("i=device/server;p=1400.145,223.94249");
}
server2: StandardHost {
parameters:
@display("i=device/server;p=1400.145,365.16748");
}
server3: StandardHost {
parameters:
@display("i=device/server;p=1400.145,488.235");
}
attacker1: StandardHost{
parameters:
@display("i=device/server;color=red");}
attacker2: StandardHost{
parameters:
@display("i=device/server;color=red");}
router0: Router {
parameters:
@display("i=abstract/router;p=1216.5525,365.16748");
}
router[numclients]: Router;
visualizer: IntegratedCanvasVisualizer {
@display("p=98.8575,254.205");
}
attacker1_router:Router;
attacker2_router:Router;
我还在他们的类中创建了一个带有以下 c++ 函数的简单模块:
void CoIDS::askForHelp(){
cTopology topo;
const char *typeNames[3];
typeNames[0] = "router";
typeNames[1] = "host";
typeNames[2] = nullptr;
topo.extractByNedTypeName(typeNames);
此代码用于获取模型中的所有路由器和主机节点。问题是我在 topo.extractByNedTypeName(typeNames); 说 typeNames 中存在错误,有时与方法本身有关。你能帮我吗?任何人都会帮助它将不胜感激..
解决方案
extractByNedTypeName()
定义为:
virtual void extractByNedTypeName (const std::vector<std::string>& nedTypeNames);
所以它需要std::vector
,而不是字符数组。
参考:OMNeT++ 仿真库
推荐阅读
- mongodb - mongo docker镜像的文件权限问题
- string - gnuplot 将变量解释为字符串
- python - 在 pycharm 中运行我的代码时出现“无效的属性名称”错误。我有一个简单的python“main.py”文件和一个kivy“MyQuiz.kv”文件
- django - 如何从不同的模型访问模型字段?这可能吗?
- java - 我的访问器方法在 Java 中返回 null 但编译时没有错误
- python - 使用 proptags 在 Microsoft Graph API 中设置扩展属性
- node.js - 预呈现会导致 SyntaxError:无法在模块外使用 import 语句
- html - .setAttribute 没有正确隐藏。HTML/CSS
- jquery - 在 Angular 中隐藏聊天机器人对话框
- multithreading - 多线程函数只需要 6 个参数(给定 0)错误