TcpListener: все неназначенные IP-адреса, такие как функция

Попытка понять, что было бы лучшим подходом или лучшими решениями, учитывая, что целевые машины, на которых будет развернута программа, могут иметь объединенные сетевые карты или просто карты аварийного переключения.

У меня есть служба Windows, которая размещает службу через порт XXXX. Это не служба WCF, а простой TcpListner и сокет, привязанный к порту типа службы. В настоящее время он написан для привязки к IP-адресу при запуске службы, что неуклюже. Я ищу способ сделать IIS хостом службы похожим на функцию «Все неназначенные IP», которая, по-видимому, хорошо работает как с режимами объединения, так и с режимами аварийного переключения NIC.

Варианты, которые я имею в виду,

  1. Использовать IPAddress.Any... У меня нет опыта использования этого режима как с объединением сетевых карт, так и с аварийным переключением.
  2. Или выполните итерацию по каждому сетевому адаптеру, используя результаты System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces(), и привяжите к GetIPProperties().UnicastAddresses.

Рекомендация или если есть другие предложения

заранее спасибо


person G33kKahuna    schedule 18.06.2012    source источник
comment
Вы пробовали IPAddress.Any, кажется, это то, что вы ищете. Метод Socket.Bind использует поле Any, чтобы указать, что экземпляр Socket должен отслеживать активность клиента на всех сетевых интерфейсах.   -  person Guvante    schedule 19.06.2012


Ответы (1)


Привязать к 0.0.0.0. Это означает «все локальные адреса».

person Seva Alekseyev    schedule 18.06.2012
comment
IPAddress.Any идентичен этому. - person Guvante; 19.06.2012
comment
Спасибо Сева и Гуванте. Я понимаю, что могу использовать любой из них, но мне нужно понять, будет ли этот подход поддерживать объединение сетевых карт и аварийное переключение? - person G33kKahuna; 19.06.2012
comment
Еще нет, это следующее, что нужно сделать ... скорее опубликуйте мой отзыв - person G33kKahuna; 19.06.2012
comment
Seva, EJP & Guvante, Мы попробовали 0.0.0.0 с 2 сетевыми картами, настроенными в режиме аварийного переключения. Служба не может привязаться к IP. Мы изучаем конфигурацию сервера, но это не выглядит многообещающе - person G33kKahuna; 26.06.2012
comment
Спасибо за полезную информацию. :) - person etrupja; 21.06.2016