Я использую моно для компиляции и запуска моего консольного приложения C#. В этом приложении я делаю несколько запросов Http. Теперь у меня проблемы с выбором правильного сетевого интерфейса для экземпляра приложения для отправки запросов.
Допустим, в моей системе есть интерфейсы eth0
и eth1
. Мне нужно заставить мое приложение использовать их оба в разных случаях. Например, при первом запуске приложение выбирает использование eth0
и записывает свой номер в cache.txt
. Если он запускается снова, он выбирает второй интерфейс, потому что cache.txt
говорит, что первый интерфейс используется другим экземпляром.
Вопрос. Как в приложении C# для среды выполнения mono перечислить и указать (при запуске приложения) сетевой интерфейс, который будет использоваться для всех запросов TCP/Http/udp в этом экземпляре?
eth0
, либоeth1
. Для исходящего трафика вы смотрите на свой стек TCProuting table
, то естьroute -n
. Если они оба имеют доступ к одним и тем же подсетям/шлюзу/и т. д., то решение основывается на метрике таблиц маршрутизации. - person SushiHangover   schedule 21.11.2015IPEndPoint
(s), посмотрите @ stackoverflow.com/questions/4547032/ - person SushiHangover   schedule 21.11.2015tcpClient
, раскрывают его, но HTTP-классы... (?) - person SushiHangover   schedule 21.11.2015