#casting #omnet #inet
Вопрос:
При инициализации моей сети появляется следующая ошибка:
<!> check_and_cast(): Не удается привести (inet::Ipv4FlatNetworkКонфигуратор*)гигабитную сеть.конфигуратор для ввода «inet::Ipv4NetworkКонфигуратор *» — в модуле (inet::Ipv4NodeConfigurator) Гигабитная сеть.Стандартный хост[0].ipv4.конфигуратор (id=421), во время инициализации сети
Я уже некоторое время пытаюсь решить эту проблему, но безуспешно.
Вот моя сеть:
Network GigabitNetwork
{
parameters:
int numHosts;
@display("bgb=449,342");
types:
channel Ether1000m extends DatarateChannel
{
datarate = 1000Mbps;
delay = 0.1s;
}
submodules:
CentralSwitch: EtherSwitch {
@display("p=189,139");
}
Switch1: EtherSwitch {
@display("p=149,198");
}
Switch2: EtherSwitch {
@display("p=271,198");
}
Switch3: EtherSwitch {
@display("p=258,76");
}
Switch4: EtherSwitch {
@display("p=143,94");
}
standardHost[numHosts]: StandardHost {
@display("p=334,38");
}
standardHost1[numHosts]: StandardHost {
@display("p=342,205");
}
standardHost2[numHosts]: StandardHost {
@display("p=57,256");
}
standardHost3[numHosts]: StandardHost {
@display("p=42,38");
}
Server: StandardHost {
@display("p=42,146;i=device/server");
}
configurator: Ipv4FlatNetworkConfigurator {
@display("p=201,293");
}
connections:
CentralSwitch.ethg <--> Ether1000m <--> Server.ethg ;
CentralSwitch.ethg <--> Ether1000m <--> Switch4.ethg ;
CentralSwitch.ethg <--> Ether1000m <--> Switch3.ethg ;
CentralSwitch.ethg <--> Ether1000m <--> Switch2.ethg ;
CentralSwitch.ethg <--> Ether1000m <--> Switch1.ethg ;
for i=0..numHosts-1 {
standardHost1[i].ethg <--> Ether1000m <--> Switch2.ethg ;
standardHost2[i].ethg <--> Ether1000m <--> Switch1.ethg ;
standardHost[i].ethg <--> Ether1000m <--> Switch3.ethg ;
standardHost3[i].ethg <--> Ether1000m <--> Switch4.ethg ;
}
}
И мой INI-файл:
[General]
network = GigabitNetwork
sim-time-limit = 120s
**.numHosts = 5
*.*.numApps = 1
**.channel.throughput.statistic-recording = true
**.channel.throughput.result-recording-modes = all
**.*.vector-recording = true
**.*.vector-recording-intervals= 0..3600
[Config Udp]
*.standardHost[*].app[0].typename = "UdpVideoStreamClient"
*.standardHost[*].app[0].serverAddress = "Server"
*.standardHost[*].app[0].serverPort = 1000
*.standardHost[*].app[0].startTime = uniform(0s, 0.1s)
*.standardHost1[*].app[0].typename = "UdpVideoStreamClient"
*.standardHost1[*].app[0].serverAddress = "Server"
*.standardHost1[*].app[0].serverPort = 1000
*.standardHost1[*].app[0].startTime = uniform(0s, 0.1s)
*.standardHost2[*].app[0].typename = "UdpVideoStreamClient"
*.standardHost2[*].app[0].serverAddress = "Server"
*.standardHost2[*].app[0].serverPort = 1000
*.standardHost2[*].app[0].startTime = uniform(0s, 0.1s)
*.standardHost3[*].app[0].typename = "UdpVideoStreamClient"
*.standardHost3[*].app[0].serverAddress = "Server"
*.standardHost3[*].app[0].serverPort = 1000
*.standardHost3[*].app[0].startTime = uniform(0s, 0.1s)
*.Server.app[0].typename = "UdpVideoStreamServer"
*.Server.app[0].localPort = 1000
*.Server.app[0].sendInterval = 0.001s
*.Server.app[0].packetLen =1400B
*.Server.app[0].videoSize = 1Gb
Ответ №1:
В вашем NED попробуйте изменить строку
configurator: Ipv4FlatNetworkConfigurator {
в:
configurator: Ipv4NetworkConfigurator {
Комментарии:
1. Пожалуйста, НЕ редактируйте исходный вопрос с исправлением, так как в этом случае вопрос становится бессмысленным. Если ответ решит вашу проблему, укажите, что ответ принят, не меняя свой первоначальный вопрос.