Как я могу получить cTopology в omnet ++? - PullRequest
1 голос
/ 09 мая 2019

Я хочу получить список соседних адресов (узлов, которые находятся в диапазоне передачи). Я нашел этот код в руководстве по omnet ++, но при компиляции я получаю сообщение об ошибке отсутствия члена с именем «extractByModuleType» в «cTopology», я вернулся к классу cTopology, а функция «extractByModuleType ()» не существует. Я пробовал другие функции, но мне не удалось. Пожалуйста, если кто-то знает, как получить доступ к cTopology, ответьте на мой вопрос.

С уважением;

cTopology topo;
topo.extractByModuleType("Host", nullptr);
for (int i = 0; i < topo.getNumNodes(); i++) {
  cTopology::Node *node = topo.getNode(i);
  EV << "Node i=" << i << " is " << node->getModule()->getFullPath() << endl;
  EV << " It has " << node->getNumOutLinks() << " conns to other nodes\n";
  EV << " and " << node->getNumInLinks() << " conns from other nodes\n";

  EV << " Connections to other modules are:\n";
  for (int j = 0; j < node->getNumOutLinks(); j++) {
    cTopology::Node *neighbour = node->getLinkOut(j)->getRemoteNode();
    cGate *gate = node->getLinkOut(j)->getLocalGate();
    EV << " " << neighbour->getModule()->getFullPath()
       << " through gate " << gate->getFullName() << endl;
  }
}

1 Ответ

0 голосов
/ 09 мая 2019

Это должно быть

topo.extractByNedTypeName("Host");

согласно документации.

Кроме того, вы указываете, что хотите получить список узлов в «диапазоне передачи». Итак, предположительно, у вас есть беспроводная сеть, в которой между узлами нет соединений. cTopology обнаруживает топологию на основе соединений, а беспроводная сеть не имеет их, поэтому вы все равно не получите значимых результатов.

Если ваши узлы не движутся и вы фактически не создаете соединение между соседними узлами. Этот ТАК ответ, который я вам помогу, как это сделать: Повторно соединять узлы на основе их евклидова расстояния в omnet ++

Если вы подключите их, то вам просто нужно пройти через все ваши подключения, чтобы добраться до соседних узлов, и вам не понадобится магия cTopology.

...