Добавил:
nyan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
X
- •Лекция 12
- •Клиент-сервер
- •Использование proxy (представителей)
- •Технологии
- •Технология RMI
- •Классы-заглушки (stubs)
- •Использование proxy (представителей)
- •Удаленные объекты
- •Интерфейсы и их реализации
- •Определение удаленных объектов
- •Определение удаленных объектов
- •Диаграмма наследования классов
- •Соглашения именования RMI
- •Поиск объекта-сервера
- •Программа-сервер
- •Программа-сервер (продолжение)
- •Запуск сервера
- •Запуск программы клиента
- •Программный код на стороне клиента
- •Программный код на стороне клиента (продолжение)
- •Файл политики безопасности
- •Последовательность действий для запуска программ
- •Использование proxy (представителей)
Файл политики безопасности
Для клиента необходимо создать файл политики безопасности:
Grant {
permission java.net.SocketPermission "*:1024-65535", "connect"
}
Последовательность действий для запуска программ
Запустить RMI реестр start rmiregistry
Запустить программу-сервер javaw ProductServer
Запустить программу-клиент java ProductClient
Результат выполнения прогаммы: I'm a toaster
I'm a microwave oven
Использование proxy (представителей)
ProductClient |
|
заглушка |
|
RMI реестр |
|
Получатель |
|
ProductImpl |
|
|
|
|
|
|
|
|
|
|
lookup() |
Возврат |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Вызов |
заглушки |
|
Вызов метода |
|||
|
|
|
|
|
|||
getDescription() |
|
|
|
|
getDescription() |
||
|
|
|
|
|
|
Локальный |
|
|
|
|
|
|
|
||
|
|
Передача развернутых |
|
вызов метода |
|
||
|
|
|
|
||||
|
|
параметров |
|
сервера |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Возврат строки |
|
|
|
|
|
|
|
Передача развернутой |
|
или генерация |
|
|
|
исключения |
|
Возврат строки |
возвращенной строки или |
|
||
|
|
|||
или генерация |
исключения |
|
|
|
исключения |
|
|
|
|
Соседние файлы в папке лекции
