gn="justify"> Для взаємодії клієнта і сервера в різних адресних просторах використовуються proxy і stub. Коли клієнт хоче викликати деякий метод інтерфейсу, він звертається до proxy, який упаковує параметри методу в стандартний формат для пересилання між процесами і передає запит і параметри в процес com-об'єкта (Ця процедура називається маршаллінг). У сервері за допомогою stub відбувається розпакування параметрів зі стандартного формату і виклик методу всередині об'єкта (Ця процедура називається Демаршаллінг). Процедури межпроцессових взаємодій здійснюються за допомогою ОС. p align="justify"> Результат роботи програми: В
Рис. 18 - Зовнішній вигляд програми сервера
Збільшимо довжину осередків і кількість рядків:
В
Рис. 19 - Зовнішній вигляд програми клієнта
Результат:
В
Рис. 20 - Зовнішній вигляд сервера після внесених змін
Висновок
дозволяє клієнту створювати і використовувати об'єкти, як на віддалених системах, так і на локальній. Подібно до того, як клієнти СОМ мають прозорий доступ до об'єктів в динамічних бібліотеках і локальних процесах, DCOM забезпечує прозорий доступ до об'єктів у віддалених процесах. p align="justify"> Попри окремі складні моменти, DCOM проста для розуміння. Вона додає до знайомих основам СОМ всього 3 основних елементи: спосіб створення віддаленого об'єкта, протокол виклику методів цього об'єкта і механізми забезпечення безпечного доступу до нього. p align="justify"> У цій роботі був реалізований виклик віддалених процедур (RPC) за технологією DCOM, використовуючи об'єктно-орієнтована мова програмування Borland Builder C + +. Клієнтський додаток має можливість запустити серверний додаток на віддаленому комп'ютері і викликати необхідні йому методи або встановити відповідні властивості. p align="justify"> Література
1. Е. Таненбаум, М. ван Стен Розподілені системи. Принципи та парадигми - СПб: Пітер, 2002р. p align="justify">. А. Оліфер, В.Г. Оліфер Мережеві операційні системи - СПб: Пітер, 2002р. p align="justify">. Дейл Роджерсон. Основи COM. M.: Видавничий отдел.Русская редакція., 1997
. # "Justify"> Додаток
Вихідні тексти програм
Сервер:
Main.h
# ifndef MainH
# define MainH
// ---------------------------------------- --------------------------
# include
# include
# include
# include
# include
# include