Использование именованных каналов

Использование именованных каналов

Функция CreateNamedPipe создает первый экземпляр именованного канала и возвращает дескриптор. При вызове этой функции указывается также максимально допустимое количество экземпляров каналов, а следовательно, и количество клиентов, одновременная поддержка которых может быть обеспечена.

Как правило, создающий процесс рассматривается в качестве сервера. Клиентские процессы, которые могут выполняться и на других системах, открывают канал с помощью функции CreateFile.

На рис. 11.2 в иллюстративной форме представлены отношения "клиент/сервер", а также псевдокод, отражающий одну из возможных схем применения именованных каналов. Обратите внимание, что сервер создает множество экземпляров одного и того же канала, каждый из которых обеспечивает поддержку одного клиента. Кроме того, для каждого экземпляра именованного канала сервер создает поток, так что для каждого клиента существует выделенный поток и экземпляр именованного канала. Следовательно, рис. 11.2 показывает, как реализовать модель многопоточного сервера, впервые представленную на рис. 7.1.

Рис. 11.2. Взаимодействие клиентов с сервером через именованные каналы

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Использование ТСР-каналов

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Использование ТСР-каналов В настоящий момент ваш удаленный объект доступен через сетевой протокол HTTP. Как уже упоминалось выше, этот протокол вполне совместим с брандмауэром, но генерируемые при этом пакеты SOAP немного "раздуты" (по причине представления данных в формате


Использование каналов RSS

Из книги Microsoft Windows SharePoint Services 3.0. Русская версия. Главы 9-16 автора Лондер Ольга

Использование каналов RSS Каналы RSS – это формат данных, предоставляющий пользователям средства поддержки содержимого веб-узла в актуальном состоянии. Первоначально этот формат данных имел название RDF (Resource Description Framework) Site Summary, а затем получил название Rich Site Summary. Сегодня


4.7. Некоторые свойства именованных и неименованных каналов

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

4.7. Некоторые свойства именованных и неименованных каналов Некоторые свойства именованных и неименованных каналов, относящиеся к их открытию, а также чтению и записи данных, заслуживают более пристального внимания. Прежде всего можно сделать дескриптор неблокируемым


Создание именованных каналов

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Создание именованных каналов Серверами именованных каналов могут быть только системы на основе Windows NT (как обычно, здесь имеются в виду версия 4.0 и последующие); системы на базе Windows 9x могут выступать только в роли клиентов.Прототип функции CreateNamedPipe представлен ниже. HANDLE


Подключение клиентов именованных каналов

Из книги Технология XSLT автора Валиков Алексей Николаевич

Подключение клиентов именованных каналов Как показано на рис. 11.2, для подключения клиента к именованному каналу применяется функция CreateFile, при вызове которой указывается имя именованного канала. Часто клиент и сервер выполняются на одном компьютере, и в этом случае для


Функции состояния именованных каналов

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Функции состояния именованных каналов Предусмотрены две функции, позволяющие получать информацию о состоянии каналов, и еще одна функция, позволяющая устанавливать данные состояния канала. Краткая характеристика этих функций приводится ниже, а одна из этих функций


Функции подключения именованных каналов

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Функции подключения именованных каналов После создания именованного канала сервер может ожидать подключения клиента (осуществляемого с помощью функции CreateFile или функции CallNamedFile, описанной далее в этой главе), используя для этого функцию ConnectNamedPipe, которая является


Подключение клиентов и серверов именованных каналов

Из книги автора

Подключение клиентов и серверов именованных каналов Операции по подключению клиентов и серверов к именованным каналам выполняются в описанном ниже порядке. Сначала мы рассмотрим последовательность операций, выполняемых сервером, при помощи которых сервер создает


Функции транзакций именованных каналов

Из книги автора

Функции транзакций именованных каналов На рис. 11.2 показана типичная конфигурация клиента, в которой клиент выполняет следующие операции:• Открывает экземпляр канала, создавая долговременное соединение с сервером и занимая экземпляр канала.• Периодически посылает


Сравнение именованных каналов и сокетов

Из книги автора

Сравнение именованных каналов и сокетов Именованные каналы, описанные в главе 11, очень похожи на сокеты, но в способах их использования имеются значительные различия.• Именованные каналы могут быть ориентированными на работу с сообщениями, что значительно упрощает


Сравнение серверов именованных каналов и сокетов

Из книги автора

Сравнение серверов именованных каналов и сокетов Установка соединения с несколькими клиентами при использовании сокетов требует выполнения повторных вызовов функции accept. Каждый из вызовов возвращает очередной подключенный сокет. По сравнению с именованными каналами


Сравнение клиентов именованных каналов и сокетов

Из книги автора

Сравнение клиентов именованных каналов и сокетов В случае именованных каналов необходимо последовательно вызывать функции WaitNamedPipe и CreateFile. Если же используются сокеты, этот порядок вызовов обращается, поскольку можно считать, что функция socket создает сокет, а функция


Защита именованных каналов

Из книги автора

Защита именованных каналов Хотя соответствующая часть кода в листинге программы 11.3 опущена, сервер, полный программный код которого находится на Web-сайте книги, предоставляет возможность защиты его именованных каналов для предотвращения доступа к ним пользователей, не


Использование именованных сущностей вместо кодов символов

Из книги автора

Использование именованных сущностей вместо кодов символов Это требование связано с желанием пользователей видеть в выходящем документе вместо сущности &#xA0; ее более привычный вариант &nbsp;. В настоящее время приходится прибегать ко всяким хитростям вроде<xsl:text


11.4.1. Создание входных точек устройств и именованных каналов

Из книги автора

11.4.1. Создание входных точек устройств и именованных каналов Процессы создают файлы устройств и именованных каналов в файловой системе с помощью вызова mknod().#include <fcntl.h>#include <unistd.h>int mknod(const char *pathname, mode_t mode, dev_t dev);pathname — это имя файла, который нужно создать, mode — это и