Компонент TSocketConnection
Метод:
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).