Основы программирования в Win32API. Марапулец Ю.В. - 118 стр.

UptoLike

Составители: 

тельных и командных [1, 2].
В транзакциях подключения, являющихся наиболее распространенными,
клиент запрашивает элемент данных, который находится на сервере. Различа-
ют три вида подключения [2]:
1. С необязательным ответом
Такой вид диалога инициируется приложением-клиентом, посылающим ши-
роковещательный запрос WM_DDE_INITIATE,
в котором указывается вы-
зываемое приложение и тип запрашиваемых данных (как первый, так и вто-
рой параметры могут быть пустыми, если приемлемыми считаются любые
сервер и тема). В зависимости от обстоятельств на этот запрос может от-
кликнуться один или несколько серверов, идентифицируя себя для установ-
ления диалога. Если сервер не соответствует запрашиваемому имени или не
распознает тему, он просто не откликается, поскольку приложение-клиент
ожидает поступления только подтверждающих ответов. После получения
данных диалог немедленно завершается.
2. С полуобязательным ответом
Такой вид диалога подразумевает, что клиент и сервер "знают" друг друга
и сервер имеет новую информацию, которая, как он полагает, заинтересует
клиента. Обычно клиент посылает серверу сообщение WM_DDE_ADVISE,
делая запрос о необходимости обновить тему
(и элемент). Сервер подтверждает получение запроса, но посылает данные
только при наличии новой информации.
3. С обязательным ответом
Такой вид диалога отличается от предыдущего тем, что клиент ожидает от
сервера подтверждения и немедленного ответа. Если информация
в данный момент отсутствует, сервер просто ответит клиенту, что данные
недоступны, и будет ожидать следующего запроса. Сервер не будет пере-
давать информацию до тех пор, пока не поступит запрос от клиента.
В процессе одного и того же диалога могут чередоваться подключения
всех трех типов. Кроме того, их границы бывают настолько расплывчатыми,
что порой трудно определить, где заканчивается один тип подключения
и начинается другой.
Принудительные транзакции используются для передачи от клиента
к серверу элемента данных, который специально не запрашивался.
Командные транзакции позволяют клиенту посылать серверу команды
или последовательности команд, заставляющие его выполнять определенные
действия.
Обмен данными начинается в тот момент, когда приложение-клиент ини-
циирует диалог и получает ответ от сервера. Установив соединение, клиент и
сервер обмениваются данными вплоть до того момента, пока диалог не будет
прерван по инициативе одной из сторон. Обмен данными осуществляется одним
118
тельных и командных [1, 2].
    В транзакциях подключения, являющихся наиболее распространенными,
клиент запрашивает элемент данных, который находится на сервере. Различа-
ют три вида подключения [2]:

  1. С необязательным ответом
  Такой вид диалога инициируется приложением-клиентом, посылающим ши-
  роковещательный запрос WM_DDE_INITIATE, в котором указывается вы-
  зываемое приложение и тип запрашиваемых данных (как первый, так и вто-
  рой параметры могут быть пустыми, если приемлемыми считаются любые
  сервер и тема). В зависимости от обстоятельств на этот запрос может от-
  кликнуться один или несколько серверов, идентифицируя себя для установ-
  ления диалога. Если сервер не соответствует запрашиваемому имени или не
  распознает тему, он просто не откликается, поскольку приложение-клиент
  ожидает поступления только подтверждающих ответов. После получения
  данных диалог немедленно завершается.

   2. С полуобязательным ответом
   Такой вид диалога подразумевает, что клиент и сервер "знают" друг друга
   и сервер имеет новую информацию, которая, как он полагает, заинтересует
   клиента. Обычно клиент посылает серверу сообщение WM_DDE_ADVISE,
   делая       запрос      о      необходимости        обновить       тему
   (и элемент). Сервер подтверждает получение запроса, но посылает данные
   только при наличии новой информации.

    3. С обязательным ответом
    Такой вид диалога отличается от предыдущего тем, что клиент ожидает от
    сервера подтверждения и немедленного ответа. Если информация
    в данный момент отсутствует, сервер просто ответит клиенту, что данные
    недоступны, и будет ожидать следующего запроса. Сервер не будет пере-
    давать информацию до тех пор, пока не поступит запрос от клиента.
     В процессе одного и того же диалога могут чередоваться подключения
всех трех типов. Кроме того, их границы бывают настолько расплывчатыми,
что порой трудно определить, где заканчивается один тип подключения
и начинается другой.
     Принудительные транзакции используются для передачи от клиента
к серверу элемента данных, который специально не запрашивался.
     Командные транзакции позволяют клиенту посылать серверу команды
или последовательности команд, заставляющие его выполнять определенные
действия.
     Обмен данными начинается в тот момент, когда приложение-клиент ини-
циирует диалог и получает ответ от сервера. Установив соединение, клиент и
сервер обмениваются данными вплоть до того момента, пока диалог не будет
прерван по инициативе одной из сторон. Обмен данными осуществляется одним

                                   118