Programming: Delphi


Иллюстрированный самоучитель по Delphi 7 для профессионалов



Компонент TSocketConnection



Компонент TSocketConnection обеспечивает соединение клиента с сервером приложений за счет использования сокетов TCP/IP. Для успешного открытия соединения на стороне сервера должен работать сокет-сервер (приложение ScktSrvr.exe, рис. 20.4).

Для успешного соединения свойство

    property Host: String;

должно содержать имя компьютера сервера.

Рис. 20.4. Сокет-сервер 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.

Естественно, на стороне сервера должен быть зарегистрирован объект СОМ, выполняющий обратную операцию. Для этого также используется сокет-сервер (рис. 20.5). Строка Interceptor на странице должна содержать имя компьютера GUID объекта-перехватчика СОМ.

Рис. 20.5. Регистрация объекта-перехватчика СОМ в сокет-сервере

Метод

    function GetlnterceptorList: OleVariant; virtual;

возвращает список зарегистрированных на сервере объектов-перехватчиков.

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

    property AppServer: Variant;

который также может быть получен методом

    function GetServer: lAppServer; override;

Свойство

    property ObjectBroker: TCustomObjectBroker;

позволяет использовать экземпляр компонента TSimpieObjectBroker для получения списка доступных серверов во время выполнения.

Методы-обработчики событий компонента TSocketConnection полностью совпадают с методами-обработчиками компонента TDCOMConnection (см. табл. 20.1).




Назад | Оглавление | Вперёд




При перепечатке любого материала с сайта, видимая ссылка на источник www.warayg.narod.ru и все имена, ссылки авторов обязательны.

© 2005
 

Hosted by uCoz