Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
WS-Discovery и профиль устройств для веб-служб (DPWS) не описывают реализацию многоадресных устройств. В этом разделе описывается поддержка многосетевых устройств в WSDAPI и предоставляются рекомендации по реализации для разработчиков клиентов и устройств. В этом разделе предполагается, что сообщения об обнаружении отправляются по протоколу IPv4 и IPv6 (при наличии) с одинаковыми идентификаторами сообщения и сведениями о последовательности приложений.
Обнаружение в многодомной среде
Как упоминалось в разделе Hello и разделе XAddrs, в дополнительных возможностях WS-Discoveryуказано, что WSDAPI никогда не предоставляет XAddrs в сообщении Hello. Это означает, что одно и то же сообщение Hello можно отправлять во всех сетевых интерфейсах с одинаковыми идентификаторами сообщения и сведениями о последовательности приложений. Это упрощает обнаружение коллизий клиента для игнорирования нескольких сообщений Hello с одного устройства, когда клиент и устройство расположены в нескольких общих подсетях.
Так как XAddrs не отправляются в сообщении Hello, для получения соответствующего адреса устройства клиентские реализации должны отправлять сообщение Resolve. Разрешение должно быть отправлено во всех клиентских интерфейсах с одинаковым идентификатором сообщения, и устройство должно фильтровать повторяющиеся сообщения по мере необходимости. Использование того же идентификатора сообщения для сообщения "Разрешить" позволяет устройству выбрать предпочтительный интерфейс для общения с клиентами при необходимости.
При отправке сообщения ResolveMatch устройство должно предоставить XAddrs, которые относятся к сетевому интерфейсу, по которому он отправляет сообщение. Эта практика помогает избежать нескольких попыток подключения клиента и сложной логики повторных попыток.
Обмен метаданными в многодомной среде
Реализация обмена метаданными в многодомной среде сложнее, чем реализация обнаружения из-за управления версиями метаданных. Если клиент запрашивает метаданные через несколько интерфейсов, клиент может получать несколько GetResponse сообщения через разные интерфейсы. Эти сообщения GetResponse могут содержать различные разделы метаданных Соотношение с одной и той же версией метаданных. Это уменьшает значение номера версии метаданных.
Существует альтернативный подход, при котором одно GetResponse сообщение отправляется в ответ со всеми адресами сервиса. Недостатком этого метода является то, что может быть раскрыта частная информация, например топология косвенно доступных сетей.
В Windows Vista метаданные, предоставляемые WSDAPI, содержат только адреса, допустимые для интерфейса, по которому был получен запрос метаданных.