Почему только один UdpDiscoveryEndpoint отвечает, когда зонд обнаружения является одноадресным? - PullRequest
1 голос
/ 13 марта 2012

У меня есть набор служб WCF, которые используют System.ServiceModel.Discovery.UdpDiscoveryEndpoint для реализации ws-discovery.Когда я отправляю многоадресный запрос на обнаружение на сервер, все они корректно отвечают с совпадениями зондов.Однако, когда я отправляю запрос на обнаружение на сервер, только один из них отвечает.Это немного сложно определить, что отвечает, но я думаю, что это первое, что будет создано.

Я знаю, что должен использовать прокси-сервер обнаружения для одноадресного обнаружения, и мы, вероятно, реализуем это вбудущее, но я озадачен, почему мои службы реагируют по-разному в этих двух случаях.

1 Ответ

1 голос
/ 13 марта 2012

Ad hoc (многоадресная передача) ищет в вашей подсети всех, кто слушает, как вы видели, но управляемый (одноадресная передача) запрашивает у конечной точки обнаружения по умолчанию обнаруживаемые службы.В режиме ad hoc вы транслируете запрос на обнаружение, и все отвечают, как вы описали, но в управляемом режиме прокси-сервер отправляет запрос на обнаружение одному получателю, и отвечает только этот получатель (обычно прокси-сервер обнаружения).

Одноадресная рассылка предназначена только для запроса прокси-сервера для разрешения обнаруживаемых сервисов, а если вы не используете прокси-сервер обнаружения, это означает, что вы уже знаете конечную точку службы, поскольку прокси-сервер уже обменивается данными напрямую с этой конечной точкой.

...