Функции состояния именованных каналов
Функции состояния именованных каналов
Предусмотрены две функции, позволяющие получать информацию о состоянии каналов, и еще одна функция, позволяющая устанавливать данные состояния канала. Краткая характеристика этих функций приводится ниже, а одна из этих функций используется в программе 11.2.
• GetNamedPipeHandleState — возвращает для заданного открытого дескриптора информацию относительно того, работает ли канал в блокируемом или неблокируемом режиме, ориентирован ли он на работу с сообщениями или байтами, каково количество экземпляров канала и тому подобное.
• SetNamedPipeHandleState — позволяет программе устанавливать атрибуты состояния. Параметр режима (NpMode) передается не по значению, а по адресу, что может стать причиной недоразумений. Применение этой функции демонстрируется в программе 11.2.
• GetNamedPipeInfo — определяет, принадлежит ли дескриптор экземпляру клиента или сервера, размеры буферов и тому подобное.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Использование именованных каналов
Использование именованных каналов Функция 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. Создание входных точек устройств и именованных каналов
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. Некоторые свойства именованных и неименованных каналов
4.7. Некоторые свойства именованных и неименованных каналов Некоторые свойства именованных и неименованных каналов, относящиеся к их открытию, а также чтению и записи данных, заслуживают более пристального внимания. Прежде всего можно сделать дескриптор неблокируемым
Использование именованных сущностей вместо кодов символов
Использование именованных сущностей вместо кодов символов Это требование связано с желанием пользователей видеть в выходящем документе вместо сущности &#xA0; ее более привычный вариант &nbsp;. В настоящее время приходится прибегать ко всяким хитростям вроде<xsl:text
5.3 Мониторинг состояния системы, устранение ошибок, восстановление утерянных файлов и защита данных Анализ состояния аппаратной части системы
Введение Как и всякая техника, персональный компьютер нуждается в техническом обслуживании, настройке и наладке. Небрежное отношение к своей машине приводит к тому, что работа компьютера становится нестабильной и не эффективной. А потом происходит сбой, и компьютер