ли в момент, коли стаб зробив виклик receive. p align="justify"> Тепер починає роботу серверний стаб. Він розпаковує параметри і поміщає їх відповідним чином в стек. Коли все готове, виконується виклик сервера. Після виконання процедури сервер передає результати клієнтові. Для цього виконуються всі описані вище етапи, тільки у зворотному порядку. br/>В
Рис. 11 Етапи виконання процедури RPC
При віддаленому виклику процедури в розподіленої системі відбуваються наступні дії:
. Процедура клієнта викликає стаб як звичайну процедуру. Стаб упаковує параметри (маршалізація, marshaling). p align="justify">. Стаб звертається до ядра ОС. p align="justify">. Ядро посилає повідомлення на віддалену машину (ядру віддаленого ПК). p align="justify">. Передача отриманого повідомлення скелетону серверного процесу. p align="justify">. Розпакування параметрів (демаршалізація, unmarshaling). Виклик необхідної процедури. p align="justify">. Процедура на сервері виконується. Повертає результати скелетону. p align="justify">. Скелетон упаковує результат. p align="justify">. Передача результату ядру. p align="justify">. Ядро сервера передає повідомлення по мережі ядру клієнта. br/>
. Ядро клієнта звертається до стаб. Стаб розпаковує отриманий результат. p align="justify">. Передача від стаб клієнтського процесу. p align="justify"> Виконання віддаленого виклику процедури представлено на Рис. 12. <В
Рис. 12 - Виконання віддаленого виклику процедури
2. Спеціальна частина
.1 Постановка завдання
У цій роботі ставиться завдання реалізації виклику віддалених процедур (RPC) за технологією DCOM. Для цього створимо додаток, що працює за технологією клієнт-сервер, в основі якого лежить використання DCOM. p align="justify"> Як приклад предметної області виберемо нескладний об'єкт із змінними параметрами - обчислювач матриці із змінними елементами і їх кількістю. br/>
.2 Розробка та визначення параметрів програми
Обчислювач матриці - пристрій управління об'єктом, що дозволяє вводити в таблицю значення матриці і виробляти над ними арифметичні операції (обчислювати детермінант).
Матриця являє собою таблицю з порожніми осередками, в які користувач може вводити значення.
Схематично можна зобразити обчислювач матриці наступним способом:
В
Рис. 13 - Обчислювач матриці
Клас матриці Matrix:
Таблиця 1 - Дані класу Matrix
НазваниеТипНазначениеMIntКоличество строкNIntКолічество столбцовA [] intМассів, який зберігає значення матріциpGenRandGen * Мінлива класу RandGen
Таблиця 2 - Функції класу Matrix
<...