Подтвердить что ты не робот

Как связать сокет с несколькими интерфейсами

После нескольких часов поиска в Интернете я все еще не смог найти ответ для своей проблемы.

Моя задача - создать сервер, который принимает сокеты из переменного количества интерфейсов (задано в файле конфигурации как eth0, eth1, etc.).

Каков самый простой способ сделать это? Есть ли способ связать один сокет с несколькими интерфейсами? Я еще не нашел способ сделать это.
Или мне нужно использовать INADDR_ANY и как-то узнать интерфейс, от которого был отправлен пакет?

Есть ли другой способ справиться с этой проблемой?

4b9b3361

Ответ 1

Вы либо bind(2) один сокет для всех интерфейсов с INADDR_ANY или создать несколько сокетов и привязать их к IP-адресу требуемого интерфейса. В любом случае установите параметр SO_REUSEADDR в сокетах.