Асинхронное прослушивание
Асинхронное прослушивание
Прежде чем вы сможете использовать функцию сигнализации API isc_que_evento, вам нужно выполнить функцию обратного вызова на клиенте, которую вызывал бы сервер при посылке события. Названием для такого типа функции является асинхронный перехват, или AST.
Функция AST
Функция AST предоставляет некоторую форму глобальных флагов для оповещения приложения, когда к нему обращается сервер. Она обрабатывает список событий сервера в буферах, к которым приложение может иметь доступ при управлении собственной очередью событий. Функция должна получать три аргумента:
* копию списка отправленных событий;
* длину буфера events_list;
* указатель на буфер events_iist.
Документ InterBase API Guide[128] содержит рекомендации по написанию функций AST.
Функция isc_event_biock() принимает в своем параметре isc caiiback указатель на функцию AST и в своем параметре event_function_arg- указатель на первый аргумент AST. Этот аргумент обычно получает значение счетчика событий, когда они изменяются.
Когда приложение вызывает функцию isc_que_events о для сообщения о событиях, которые оно будет ожидать, оно передает вместе со списком указатель на функцию обратного вызова AST. Один вызов isc_que_events() может содержать до 15 событий. Приложение вызывает функцию isc_event_counts() для определения того, какое событие произошло.
Множество вызовов isc que eventso может выполняться одновременно в одном процессе клиент-сервер. Приложения отключают режим ожидания при вызове функции isc_cancel_events().
! ! !
ПРИМЕЧАНИЕ. Подробности установки блока событий для синхронного прослушивания через isc_event_wait() такие же. События не являются постоянными, как при асинхронной технике isc_que_events(). Синхронная сигнализация не требует внешней функции AST.
. ! .
Компонентные интерфейсы
К счастью, почти для всех из нас фрагменты кодов для реализации событий в клиентских приложениях инкапсулированы в классах и компонентах в большинстве инструментов разработки приложений, которые поддерживают Firebird. Такие компоненты, включающие в себя AST, инкапсулирующие вызовы функций API isc_event* вместе с блоками параметров событий и управление буферами событий на клиентской стороне, обычно называются обработчиками сообщений (event alerter). Иногда этот термин в форумах и литературе вызывает путаницу, потому что триггеры и хранимые процедуры, вызывающие POST_EVENT, также часто называют обработчиками сообщений.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
5.2. Прослушивание музыки
5.2. Прослушивание музыки mpg123Это самая простая утилита, позволяющая слушать музыку в консольном режиме. Скачать ее можно с домашней страницы разработчика www.mpg123.de.В графическом режиме запускайте ее через виртуальный терминал:$ mpg123 file.mp3Программа позволяет прослушивать
Асинхронное удаленное взаимодействие
Асинхронное удаленное взаимодействие В завершение нашего обсуждения материала данной главы давайте выясним, как вызывать члены удаленного типа асинхронно. В главе 14 была рассмотрена тема асинхронного вызова методов с помощью типов делегата. Как и следует ожидать, при
7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом
7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом Постановка задачи Необходимо иметь возможность решать задачи, не связанные с пользовательским интерфейсом, с помощью
7.12. Асинхронное выполнение задач с помощью операций
7.12. Асинхронное выполнение задач с помощью операций Постановка задачи Требуется параллельно выполнять
3.4.4. Асинхронное удаление дочерних процессов
3.4.4. Асинхронное удаление дочерних процессов Если дочерний процесс просто вызывает другую программу с помощью функции exec(), то в родительском процессе можно сразу же вызвать функцию wait() и пассивно дожидаться завершения потомка. Но очень часто нужно, чтобы родительский
Синхронное прослушивание
Синхронное прослушивание На рис. 32.3 показана модель событий, которая реализована в языке ESQL для встроенных приложений с помощью операторов EVENT INIT и EVENT WAIT. Динамический SQL не имеет эквивалентных операторов SQL. Для приложений динамического SQL та же синхронная модель событий
Глава 12 Прослушивание музыки
Глава 12 Прослушивание музыки ? Winamp.? Windows Media Player.В этой главе речь пойдет о программах, которые предоставляют мультимедийные возможности: прослушивание музыки, просмотр фильмов и т. д.Самая простая задача – прослушивание звукового компакт-диска. Чаще всего операционная
Глава 10 Прослушивание сетевого графика
Глава 10 Прослушивание сетевого графика В этой главе обсуждаются следующие темы: • Что такое прослушивание сетевого графика? • Что прослушивать? • Популярное программное обеспечение для прослушивания сетевого трафика • Усовершенствованные методы прослушивания
Что такое прослушивание сетевого трафика?
Что такое прослушивание сетевого трафика? Прослушивание сетевого трафика является методом, с помощью которого нарушитель может скомпрометировать безопасность сети в пассивном режиме. Анализатор трафика (sniffer) – программа, которая пассивно наблюдает компьютерную сеть
Прослушивание радио
Прослушивание радио Проигрыватель Windows Media позволяет находить станции для прослушивания и сохранять указатели на избранные станции, чтобы в будущем быстро получать к ним доступ. Для того чтобы найти радиостанцию в Интернете, нажмите кнопку Настройка радио. Откроется
Прослушивание мозга
Прослушивание мозга В конечном счете перехват не может остановить все террористические акты, поскольку террористы-одиночки вряд ли будут обсуждать свои планы с другими. Для поимки этих людей требуется еще более агрессивная методика мониторинга: прослушивание мозга [brain