Многодомность и 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 отключают сеанс.