Составители:
XTYP_REQUEST Подключение с необязательным ответом; передача одного элемен-
та данных
XTYP_ADVSTART Подключение с полуобязательным или обязательным ответом; пе-
редача данных и обновлений
XTYP_POKE Запись (прием) данных от клиента
XTYP_EXECUTE Выполнение команды или действия
8.4.3. Механизмы обработки транзакций
Обработка транзакций с необязательным ответом. Когда сервер получает со-
общение XTYP_REQUEST, он читает имена темы и элемента данных из двух строковых
параметров и проверяет запрашиваемый формат данных. Если сервер распознает эле-
мент и поддерживает данный формат, он создает объект данных, в который записывает
текущее значение элемента, и возвращает дескриптор этого объекта. Если сервер не
поддерживает данный формат или не распознает элемент, возвращается значение NULL.
Сервер, который не поддерживает транзакции данного типа, во избежание получе-
ния нежелательных сообщений XTYP_REQUEST должен установить в функции DdeIni-
tialize флаг CBF_FAIL_REQUESTS.
Значение, переданное сервером, возвращается клиенту в виде результата функции
DdeClientTransaction. Типичная схема такого взаимодействия представлена на рис. 8.1
[12]. Условно его можно разбить на три этапа.
1. Клиент посылает серверу запрос через DDEML.
2. Сервер расшифровывает запрос и формирует пакет запрашиваемых данных.
3. Клиент получает ответ и расшифровывает его.
Рис.8.1. Последовательность событий, происходящих после запроса клиентом элемента данных
Когда клиент делает запрос о возможности получить извещение об обновлении
данных, функция обратного вызова сервера принимает сообщение XTYP_ADVSTART.
Если сервер распознает имена темы и элемента данных, а также поддерживает запраши-
ваемый формат, он возвращает значение TRUE,
подтверждая факт установления под-
ключения. Если одно из указанных условий не выполняется, сервер возвращает значение
FALSE,
предотвращающее установление подключения.
Сообщение XTYP_ADVSTART
не указывает серверу, с каким ответом, обязатель-
ным или полуобязательным, будет это подключение.
205
XTYP_REQUEST Подключение с необязательным ответом; передача одного элемен- та данных XTYP_ADVSTART Подключение с полуобязательным или обязательным ответом; пе- редача данных и обновлений XTYP_POKE Запись (прием) данных от клиента XTYP_EXECUTE Выполнение команды или действия 8.4.3. Механизмы обработки транзакций Обработка транзакций с необязательным ответом. Когда сервер получает со- общение XTYP_REQUEST, он читает имена темы и элемента данных из двух строковых параметров и проверяет запрашиваемый формат данных. Если сервер распознает эле- мент и поддерживает данный формат, он создает объект данных, в который записывает текущее значение элемента, и возвращает дескриптор этого объекта. Если сервер не поддерживает данный формат или не распознает элемент, возвращается значение NULL. Сервер, который не поддерживает транзакции данного типа, во избежание получе- ния нежелательных сообщений XTYP_REQUEST должен установить в функции DdeIni- tialize флаг CBF_FAIL_REQUESTS. Значение, переданное сервером, возвращается клиенту в виде результата функции DdeClientTransaction. Типичная схема такого взаимодействия представлена на рис. 8.1 [12]. Условно его можно разбить на три этапа. 1. Клиент посылает серверу запрос через DDEML. 2. Сервер расшифровывает запрос и формирует пакет запрашиваемых данных. 3. Клиент получает ответ и расшифровывает его. Рис.8.1. Последовательность событий, происходящих после запроса клиентом элемента данных Когда клиент делает запрос о возможности получить извещение об обновлении данных, функция обратного вызова сервера принимает сообщение XTYP_ADVSTART. Если сервер распознает имена темы и элемента данных, а также поддерживает запраши- ваемый формат, он возвращает значение TRUE, подтверждая факт установления под- ключения. Если одно из указанных условий не выполняется, сервер возвращает значение FALSE, предотвращающее установление подключения. Сообщение XTYP_ADVSTART не указывает серверу, с каким ответом, обязатель- ным или полуобязательным, будет это подключение. 205
Страницы
- « первая
- ‹ предыдущая
- …
- 201
- 202
- 203
- 204
- 205
- …
- следующая ›
- последняя »