Книга: Системное программирование в среде Windows
Использование именованных каналов
Использование именованных каналов
Функция CreateNamedPipe создает первый экземпляр именованного канала и возвращает дескриптор. При вызове этой функции указывается также максимально допустимое количество экземпляров каналов, а следовательно, и количество клиентов, одновременная поддержка которых может быть обеспечена.
Как правило, создающий процесс рассматривается в качестве сервера. Клиентские процессы, которые могут выполняться и на других системах, открывают канал с помощью функции CreateFile.
На рис. 11.2 в иллюстративной форме представлены отношения "клиент/сервер", а также псевдокод, отражающий одну из возможных схем применения именованных каналов. Обратите внимание, что сервер создает множество экземпляров одного и того же канала, каждый из которых обеспечивает поддержку одного клиента. Кроме того, для каждого экземпляра именованного канала сервер создает поток, так что для каждого клиента существует выделенный поток и экземпляр именованного канала. Следовательно, рис. 11.2 показывает, как реализовать модель многопоточного сервера, впервые представленную на рис. 7.1.
Рис. 11.2. Взаимодействие клиентов с сервером через именованные каналы
- Функции транзакций именованных каналов
- 11.4.1. Создание входных точек устройств и именованных каналов
- 9.3.1.2. Буферирование каналов
- Подключение клиентов именованных каналов
- Функции состояния именованных каналов
- Подключение клиентов и серверов именованных каналов
- Создание, подключение и именование каналов и почтовых ящиков
- Восстановление с использованием инструмента gbak
- Типы страниц и их использование
- Использование констант
- Использование переменной окружения ISC_PATH
- Использование сервера Yaffil внутри процесса