В настоящее время я работаю над программным обеспечением, написанным на Java. Один из основных пакетов использует UDP для связи. Вариант использования программного обеспечения требует, чтобы оно обеспечивало несколько соединений UDP от одного компьютера с одним и тем же портом. Для достижения этой цели порт UDP может быть привязан к определенному адресу. Это решение хорошо работает в Windows, я создаю виртуальные сети и привязываю различные сокеты к соответствующим адресам.
К сожалению, программное обеспечение должно работать под Ubuntu. Когда я делаю то же самое, здесь UDP-широковещательные сообщения не перехватываются никакими сокетами, как только они привязаны к определенному адресу.
После некоторых копаний я обнаружил несколько постов 10 лет назад, в которых описывается та же проблема, но без решения. Ядро linux блокирует сокеты от приема широковещательных сообщений, когда они привязаны к определенным интерфейсам. Есть ли способ отключить эту функцию, псевдоним есть способ привязать сокеты UDP к конкретным виртуальным сетям под Ubuntu.
Любая помощь будет принята с благодарностью!