Составители:
Рубрика:
• при аварии вызывающей процедуры удаленно вызванные процедуры
становятся «осиротевшими»;
• при аварийном завершении удаленной процедуры появляется «обездоленный
родитель».
Вызов локальной процедуры может выглядеть, например, так:
m=my_write(fd, buf, length),
где fd – дескриптор файла, buf – указатель на массив символов, length – длина массива. В
случае локальных процедур параметры могут вызываться как по ссылке (by name), так и
по значению (by value). При
реализации удаленных процедур возможен только один
вариант – передача параметров по значению.
Вызов удаленной процедуры должен выглядеть, по возможности, так же, как вызов
локальной процедуры. Для этого в библиотеку процедур помещается другая версия
процедуры – стаб (stub – заглушка). На удаленном компьютере (т. е. в сервере)
помещается серверный стаб (см. рис. 7.6).
Клиентский стаб формирует
сообщение, содержащее имя вызываемой процедуры и
ее параметры. Это называется упаковкой параметров.
Рис. 7.6
Сообщение-ответ
Сообщение-вызов
Компьютер-клиент
Процесс-клиент
Return Call
К
лиентски
й
ста
б
Распаковка Упаковка
параметров параметров
Ядро ОС
RPCRuntime
П
одсистема
обмена
сообщениями
Receive Send
Компьютер-сервер
Процедура RPC
Return Call
С
ерверны
й
ста
б
Распаковка Упаковка
параметров параметров
Ядро ОС
RPCRuntime
П
одсистема
обмена
сообщениями
Receive Send
Страницы
- « первая
- ‹ предыдущая
- …
- 135
- 136
- 137
- 138
- 139
- …
- следующая ›
- последняя »
