шлюз не подключен к одноуровневому или родительскому модулю в omnet ++

Я предлагаю создать сеть с "n" клиентскими узлами (выбранными пользователем), подключенными к централизованному серверу.

   simple serveur 
    {        
     gates:
     inout port[];
    }

   simple client
    {
    //  @display("i=device/pc");

     gates:
      inout port;
      }
      network networks
    {

        int nb;   
        submodules:
      n[nb]: client;
        server: serveur;

       connections :
        for i=0..nb-1 
        {   
         n[i].port <--> {  delay = 0.1ms; datarate = 100Mbps; } <--> server.port++ if uniform(0,1)<0.8;
        }

       }

Но я получил эту ошибку при попытке запустить симулятор:

Шлюз 'networks.n [3] .port $ i' не подключен к одноуровневому или родительскому модулю.


person selma    schedule 20.11.2018    source источник


Ответы (1)


OMNeT++ требует, чтобы все ворота были соединены. Однако можно отключить проверку подключения для всех шлюзов, добавив слово allowunconnected после connections, поэтому в вашем коде должно быть:

   connections allowunconnected:
    for i=0..nb-1 
    {   
     n[i].port <--> {  delay = 0.1ms; datarate = 100Mbps; } <--> server.port++ if uniform(0,1)<0.8;
    }
person Jerzy D.    schedule 20.11.2018
comment
Я исправил проблему, переместив {delay = 0.1ms; данные = 100 Мбит / с; } и условие тоже if uniform (0,1) ‹0.8, потому что даже когда я добавляю allowunconnected, у меня есть несколько узлов, которые не подключены к серверу, спасибо :) - person selma; 21.11.2018