Читайте также
Использование именованных каналов
Функция CreateNamedPipe создает первый экземпляр именованного канала и возвращает дескриптор. При вызове этой функции указывается также максимально допустимое количество экземпляров каналов, а следовательно, и количество клиентов,
Создание именованных каналов
Серверами именованных каналов могут быть только системы на основе Windows NT (как обычно, здесь имеются в виду версия 4.0 и последующие); системы на базе Windows 9x могут выступать только в роли клиентов.Прототип функции CreateNamedPipe представлен ниже.
HANDLE
Подключение клиентов именованных каналов
Как показано на рис. 11.2, для подключения клиента к именованному каналу применяется функция CreateFile, при вызове которой указывается имя именованного канала. Часто клиент и сервер выполняются на одном компьютере, и в этом случае для
Функции подключения именованных каналов
После создания именованного канала сервер может ожидать подключения клиента (осуществляемого с помощью функции CreateFile или функции CallNamedFile, описанной далее в этой главе), используя для этого функцию ConnectNamedPipe, которая является
Подключение клиентов и серверов именованных каналов
Операции по подключению клиентов и серверов к именованным каналам выполняются в описанном ниже порядке. Сначала мы рассмотрим последовательность операций, выполняемых сервером, при помощи которых сервер создает
Функции транзакций именованных каналов
На рис. 11.2 показана типичная конфигурация клиента, в которой клиент выполняет следующие операции:• Открывает экземпляр канала, создавая долговременное соединение с сервером и занимая экземпляр канала.• Периодически посылает
Определение наличия сообщений в именованных каналах
В дополнение к возможности чтения данных из именованного канала с помощью функции ReadFile можно также определить, имеются ли в канале фактические сообщения, используя для этого функцию PeekNamedPipe. Это средство может быть
Сравнение именованных каналов и сокетов
Именованные каналы, описанные в главе 11, очень похожи на сокеты, но в способах их использования имеются значительные различия.• Именованные каналы могут быть ориентированными на работу с сообщениями, что значительно упрощает
Сравнение серверов именованных каналов и сокетов
Установка соединения с несколькими клиентами при использовании сокетов требует выполнения повторных вызовов функции accept. Каждый из вызовов возвращает очередной подключенный сокет. По сравнению с именованными каналами
Сравнение клиентов именованных каналов и сокетов
В случае именованных каналов необходимо последовательно вызывать функции WaitNamedPipe и CreateFile. Если же используются сокеты, этот порядок вызовов обращается, поскольку можно считать, что функция socket создает сокет, а функция
Защита именованных каналов
Хотя соответствующая часть кода в листинге программы 11.3 опущена, сервер, полный программный код которого находится на Web-сайте книги, предоставляет возможность защиты его именованных каналов для предотвращения доступа к ним пользователей, не
11.4.1. Создание входных точек устройств и именованных каналов
Процессы создают файлы устройств и именованных каналов в файловой системе с помощью вызова mknod().#include <fcntl.h>#include <unistd.h>int mknod(const char *pathname, mode_t mode, dev_t dev);pathname — это имя файла, который нужно создать, mode — это и
4.7. Некоторые свойства именованных и неименованных каналов
Некоторые свойства именованных и неименованных каналов, относящиеся к их открытию, а также чтению и записи данных, заслуживают более пристального внимания. Прежде всего можно сделать дескриптор неблокируемым
Использование именованных сущностей вместо кодов символов
Это требование связано с желанием пользователей видеть в выходящем документе вместо сущности &#xA0; ее более привычный вариант &nbsp;. В настоящее время приходится прибегать ко всяким хитростям вроде<xsl:text
Введение
Как и всякая техника, персональный компьютер нуждается в техническом обслуживании, настройке и наладке. Небрежное отношение к своей машине приводит к тому, что работа компьютера становится нестабильной и не эффективной. А потом происходит сбой, и компьютер