Индустрия программирования


Взаимодействие серверного и клиентского приложений - часть 2


переданный этим клиентским приложением текст SQL запроса, подготавливает SQL запрос и
исполняет его. Идентификатор подготовленного запроса серверное приложение записывает в
таблицу регистрации в соответствующую клиентскому приложению строку. После получение
первых результатов SQL запроса серверное приложение сравнивает количество строк в
результирующем множестве с оговоренным максимальным количеством одновременно
передаваемых клиентскому приложению записей и формирует один из следующих признаков:
записей в результирующем множестве не более максимального передаваемого числа; записей в
результирующем множестве больше максимального передаваемого числа; записи,
удовлетворяющие переданным в запросе критериям, отсутствуют; в процессе получения данных
возникла ошибка. Сформированный признак вместе с полученными данными передается
клиентскому приложению. Если не был сформирован признак о наличии дополнительных данных,
то строка таблицы регистрации занимаемая клиентским приложением освобождается и в графу
статуса помещается признак "свободна".
  • Клиентское приложение, получив транзакцию об окончании асинхронного запроса к
    серверному приложению, анализирует переданный серверным приложением признак. Если,
    согласно признаку, получены еще не все данные, то клиентское приложение посылает повторный
    запрос на передачу данных серверному приложению. Серверное приложение, получив транзакцию,
    производит идентификацию клиентского приложения по идентификатору канала. Если, согласно
    статусу клиентского приложения, оно ожидает дополнительные данные, то серверное приложение
    извлекает из таблицы регистрации идентификатор SQL запроса и продолжает получение
    результатов этого, ранее выполненного запроса. Далее взаимодействие серверного и клиентского
    приложений происходит как и в пункте 4. Пункт 5 повторяется до момента передачи всего
    полученного результирующего множества от серверного к клиентскому приложению. По
    завершению этой передачи строка таблицы регистрации занимаемая клиентским приложением
    освобождается и в графу статуса помещается признак "свободна".
  • Клиентское приложение закрывает канал и деинициализирует себя в библиотеке
    DDEML.



    Начало  Назад  Вперед



    Книжный магазин