Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_самостійне_опрацюв.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.22 Mб
Скачать

Тема 3.8. Компоненти для інтернету. Компонента tSocketConnection

Компонента TSocketConnection забезпечує з'єднання клієнта з сервером додатків за рахунок використовування сокетів TCP/IP. Для успішного відкриття з'єднання на стороні серверу повинен працювати сокет-сервер (додаток ScktSrvr.exe).

Для успішного з'єднання властивість

property Host: String;

повинне містити ім'я комп'ютера серверу.

Сокет-сервер ScktSrvr.exe

Додатково, властивість

property Address: String;

повинне містити Ip-адресу серверу.

Для відкриття з'єднання повинні бути задані обидва цих властивості.

Властивість

property Port: Integer;

встановлює номер порту, що використовується. За умовчанням це порт 211, але розробник вольний змінити порт, наприклад, для використовування різними категоріями користувачів або для створення захищеного каналу.

Після правильного вибору комп'ютера в списку властивості

property ServerName: string;

в Інспекторі об'єктів з'являється перелік доступних серверів Автоматизації. І після вибору серверу властивість

property ServerGUID: string;

яке містить ім'я комп'ютера GUID зареєстрованого серверу, задається автоматично, хоча його можна задати і уручну.

Метод

function GetServerList: OleVariant; virtual;

повертає список зареєстрованих серверів Автоматизації. Відкриття і закриття з'єднання здійснюється властивістю

property Connected: Boolean;

або методами

procedure Open;

procedure Close;

відповідно.

Канал сокета TCP/IP може бути зашифрований. Для цього використовується властивість

property InterceptName: string;

містить програмний ідентифікатор об'єкту СОМ, що забезпечує шифрування/дешифрування даних в каналі, і властивість

property InterceptGUID: string;

ім'я комп'ютера GUID цього об'єкту, що містить.

Цей об'єкт СОМ перехоплює дані в каналі і здійснює їх обробку, передбачену власним програмним кодом. Це може бути шифрування, стиснення, обробка шумів і т. д.

Примітка

Створення об'єкту СОМ, що забезпечує додаткову обробку даних в каналі, лягає на плечі розробника. Об’єкт-перехоплювач повинен підтримувати стандартний інтерфейс IDataintercept.

Природно, на стороні серверу повинен бути зареєстрований об'єкт СОМ, що виконує зворотну операцію. Для цього також використовується сокет-сервер. Рядок Interceptor на сторінці повинен містити ім'я комп'ютера GUID об'єкту-перехоплювача СОМ.

Реєстрація об'єкту-перехоплювача СОМ в сокет-сервері

Метод

function GetlnterceptorList: OleVariant; virtual;

повертає список зареєстрованих на сервері об'єктів-перехоплювачів.

Для організації передачі даних між клієнтом і сервером компонент TSocketConnection надає інтерфейс IAppServer

property AppServer: Variant;

який також може бути отриманий методом

function GetServer: lAppServer; override;

Властивість

property ObjectBroker: TCustomObjectBroker;

дозволяє використовувати екземпляр компоненту TSimpleObjectBroker для отримання списку доступних серверів під час виконання.

Методи-обробники подій компоненту TSocketConnection повністю співпадають з методами-обробниками компоненту TDCOMConnection.

Питання для самоконтролю:

  1. Для чого призначена компонента TSocketConnection?

  2. Яка властивість використовується для успішного з’єднання?

  3. Яка властивість містить ІР-адресу сервера?

  4. Яка властивість встановлює номер порту, що використовується?

  5. Якими властивостями або методами здійснюється відкриття або закриття з’єднання?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]