У меня есть сокет UDP, который обязан с INADDR_ANY слушать пакеты на всем дюйм/с, которого имеет мой сервер. Я отсылаю ответы через тот же сокет.
Прямо сейчас сервер выбирает автоматически, какой IP используется в качестве исходного IP, когда пакеты отосланы, но я хотел бы смочь установить исходящий исходный IP сам.
Там какой-либо путь состоит в том, чтобы сделать это, не имея необходимость создавать отдельный сокет для каждого IP?
Вы либо связываете (2)
с каждым адресом интерфейса и управляете несколькими сокетами, либо позволяете ядру выполнять неявное назначение IP-адреса источника с помощью INADDR_ANY
. Другого пути нет.
У меня вопрос - зачем вам это нужно? У вас не работает обычная IP-маршрутизация?