Многодомность и PGM
Особое внимание следует уделять многосетевым отправителям или получателям PGM. На этой странице описываются рекомендации и приводятся рекомендации по программированию.
Многосетовый отправитель PGM
Если приложению не удается указать интерфейс при вызове функции connect , используется первый доступный интерфейс. Если интерфейс недоступен, подключение завершается ошибкой.
Если приложение указывает интерфейс с помощью параметра сокета RM_SET_SEND_IF , попытка привязки выполняется неявно с помощью TCP/IP и завершается ошибкой, если TCP/IP не выполняет запрос привязки. Если интерфейс задается с помощью RM_SET_SEND_IF несколько раз, применяется только последний успешно заданный интерфейс.
Сокеты Windows поддерживают заданный интерфейс, и если этот интерфейс исчезает, сеанс отключается.
Многосетевой приемник PGM
Если приложению не удается указать интерфейс при вызове функции прослушивания , используется интерфейс по умолчанию. Если интерфейс недоступен, привязка завершается ошибкой .
Если приложение указывает один или несколько интерфейсов для прослушивания с помощью RM_ADD_RECEIVE_IF, сокеты Windows пытаются выполнить привязку к запрошенным интерфейсам или интерфейсам с помощью TCP/IP. Любая ошибка tcp/IP приводит к сбою этого запроса. В отличие от случая отправителя PGM, добавление интерфейса получения несколько раз приводит к тому, что прослушивания публикуются на всех успешно добавленных интерфейсах. Используйте параметр сокета RM_DEL_RECEIVE_IF, чтобы остановить прослушивание интерфейса.
Сокеты Windows не поддерживают состояние о нескольких указанных интерфейсах прослушивания и вместо этого используют TCP/IP. Однако после завершения сеанса сокеты Windows отслеживают входящий интерфейс для этого сеанса, и если этот интерфейс исчезнет, сокеты Windows отключают сеанс.