Java под Linux переадресации udp не получен при привязке к адресу - PullRequest
0 голосов
/ 16 мая 2019

В настоящее время я работаю над программным обеспечением, написанным на Java. Один из основных пакетов использует UDP для связи. Вариант использования программного обеспечения требует, чтобы оно обеспечивало несколько соединений UDP от одного компьютера с одним и тем же портом. Для достижения этой цели порт UDP может быть привязан к определенному адресу. Это решение хорошо работает в Windows, я создаю виртуальные сети и привязываю различные сокеты к соответствующим адресам.

К сожалению, программное обеспечение должно работать под Ubuntu. Когда я делаю то же самое, здесь UDP-широковещательные сообщения не перехватываются никакими сокетами, как только они привязаны к определенному адресу.

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

Любая помощь будет принята с благодарностью!

...