![]() |
![]() |
![]() |
Компонент
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).
![]() |
![]() |
![]() |
Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.
Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.
Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.
Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.
|
![]() |