Не от легкой жизни возникла такая проблема: у меня есть несколько source IP, по правилам
при отправке в исходящий пакет должен записываться один из них. Как программно выставить так, чтобы использовался выбраный IP из всех доступных.
Здравствуйте, dastin, Вы писали:
D>Не от легкой жизни возникла такая проблема: у меня есть несколько source IP, по правилам
D>при отправке в исходящий пакет должен записываться один из них. Как программно выставить так, чтобы использовался выбраный IP из всех доступных.
Связать сокет с нужным адресом. ..и вспомнив товарища
TarasCoАвтор: TarasCo
Дата: 01.12.04
скажу, что нужно установить опцию SO_DONTROUTE.
Здравствуйте, dastin, Вы писали:
D>Не от легкой жизни возникла такая проблема: у меня есть несколько source IP, по правилам
D>при отправке в исходящий пакет должен записываться один из них. Как программно выставить так, чтобы использовался выбраный IP из всех доступных.
Как справедливо отметил butcher, нужно связать (bind) сокет с нужным адресом.
От себя добавлю, что если протокол дейтаграммный, то можно воспользоваться более экзотическим решением: raw socket с включенной опцией IP_HDRINCL. Руками можно вписать адрес отправителя какой угодно

.
Здравствуйте, butcher, Вы писали:
B>Связать сокет с нужным адресом. ..и вспомнив товарища TarasCoАвтор: TarasCo
Дата: 01.12.04
скажу, что нужно установить опцию SO_DONTROUTE.
Сокет создается функцией m_hSocket = WSASocket(...) разве какая-то привязка до или после нужна???
Здравствуйте, dastin, Вы писали:
D>Сокет создается функцией m_hSocket = WSASocket(...) разве какая-то привязка до или после нужна???
После создания. В
Re[3]: UDP+C# : как указать порт для обратного ответа?Автор: butcher
Дата: 17.03.05
примерная схема обсуждалась, если поискать по форуму, то можно найти ещё много примеров и подобных вопросов. Воспользуйтесь поиском по слову
bind.