Поделиться через


Широковещательный атрибут

Ключевое слово [широковещательная передача] указывает, что удаленные вызовы процедур отправляются на все серверы в локальной сети.

[
    interface-attribute-list
] 
interface interface-name 
{
    [broadcast [, attribute-list]] returntype function-name(params)
}

Параметры

interface-attribute-list

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

имя интерфейса

Указывает имя интерфейса.

список атрибутов

Указывает дополнительные атрибуты, применяемые к функции. Разделяйте несколько атрибутов запятыми.

Returntype

Указывает тип возвращаемого значения функции.

имя функции

Указывает имя функции, к которой будет применяться атрибут [broadcast] .

params

Список параметров функции.

Комментарии

В ключевое слово [широковещательной передачи] указано, что подпрограмма всегда передается на все серверы в сети, а не на один конкретный сервер. Клиент получает выходные данные из первого ответа для успешного возврата, в то время как последующие ответы отклоняются.

Операция с атрибутом [broadcast] неявно является [идемпотентной] операцией. Однако атрибут [broadcast] указывает дополнительные свойства, которых нет в функциях с атрибутом [идемпотентный] . В частности, функции, использующие атрибут [broadcast] , указывают, что подпрограмма может вызываться несколько раз в результате одного удаленного вызова процедуры. В то же время их можно отправлять на несколько серверов. Это отличается от атрибута [idempotent] , который указывает, что вызов может быть повторен, если он не завершен.

Если удаленная процедура передает свой вызов всем узлам в локальной сети, она должна использовать ncadg_ip_udp или последовательность протоколов ncadg_ipx. Обратите внимание, что размер [широковещательного] пакета определяется используемой службой датаграмм.

См. также раздел

idempotent

Файл определения интерфейса (IDL)

Может

ncadg_ip_udp

ncadg_ipx