UDP-трансляция на все узлы

Я пытаюсь решить беспроводное UDP-сообщение OMNET++ Ad hoc для всех узлов. Мой файл конфигурации выглядит так:

<config>
    <interface hosts='host*' address='192.168.0.x' netmask='255.255.255.x'/>
    <interface hosts='*' address='192.x.x.x' netmask='255.255.255.x'/>
</config>

и в ини файле

*.host*.app[0].destAddresses = "255.255.255.255"  

но это не работает. destAddress можно установить как

*.host*.app[0].destAddresses=moduleListByNedType("inet.node.inet.AdhocHost")

но это по-прежнему случайным образом выбирает один хост за раз. Как я могу отправлять пакеты на все узлы/хосты.


person Rida Hanif    schedule 17.05.2021    source источник


Ответы (1)


Действительно, 255.255.255.255 — это широковещательный адрес, но если вы используете маршрутизацию Adhoc, различные узлы являются маршрутизаторами, и они не пересылают широковещательную рассылку. Если вы настаиваете на использовании UDP, вы ДОЛЖНЫ изменить источники INET, чтобы они поддерживали отправку в несколько пунктов назначения вместо случайного выбора одного. Вы также можете использовать PingApp, который ведет себя так, как вы ожидаете (т.е. если вы укажете * в качестве адреса назначения, он пропингует ВСЕ интерфейсы узлов в моделировании).

Если вам нужен UDP, вы должны взглянуть на исходники PingApp и получить оттуда вдохновение для изменения UDPBasicApp.

person Rudi    schedule 18.05.2021