ВУЗ:
Составители:
2. Именованные каналы используются для передачи данных между независимыми процессами или между процес-
сами, работающими на разных компьютерах. Обычно, процесс сервера именованных каналов создает именованный канал с
известным именем или с именем, которое будет передано клиентам. Процесс клиента именованных каналов, зная имя соз-
данного канала, открывает его на своей стороне с учетом ограничений, указанных процессом сервера. После этого между
сервером и клиентом создается соединение, по которому может производиться обмен данными в обоих направлениях. В
дальнейшем наибольший интерес будут представлять именованные каналы.
При создании и получении доступа к существующему каналу необходимо придерживаться следующего стандарта имен
каналов:
\\.\pipe\pipename
Если канал находится на удаленном компьютере, то потребуется NETBIOS-имя компьютера:
\\ComputerName\pipe\pipename
Клиентам и серверам для работы с каналами допускается использовать функции из табл. 8.
Кроме того, для работы с каналами используется функция CreateFile (для подключения к каналу со стороны клиента) и
функции WriteFile и ReadFile для записи и чтения данных в/из канала соответственно.
8. Функции работы с каналами
Функция Описание
CallNamedPipe Выполняет подключение к каналу, записы-
вает в канал сообщение, считывает из ка-
нала сообщение и затем закрывает канал
ConnectNamedPipe Позволяет серверу именованных каналов
ожидать подключения одного или несколь-
ких клиентских процессов к экземпляру
именованного канала
CreateNamedPipe Создает экземпляр именованного канала и
возвращает дескриптор для последующих
операций с каналом
CreatePipe Создает безымянный канал
DisconnectNamedPipe Отсоединяет серверную сторону экземпля-
ра именованного канала от клиентского
процесса
GetNamedPipeHandleState Получает информацию о работе указанного
именованного канала
GetNamedPipeInfo Извлекает свойства указанного именован-
ного канала
PeekNamedPipe Копирует данные их именованного или бе-
зымянного канала в буфер без удаления их
из канала.
SetNamedPipeHandleState Устанавливает режим чтения и режим бло-
кировки вызова функций (синхронный или
асинхронный) для указанного именованно-
го канала
TransactNamedPipe Комбинирует операции записи сообщения
в канал и чтения сообщения из канала в
одну сетевую транзакцию
WaitNamedPipe Ожидает, пока истечет время ожидания или
пока экземпляр указанного именованного
канала не будет доступен для подключения
к нему
ЗАДАНИЕ ДЛЯ ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ
Реализовать с помощью механизмов межпроцессного взаимодействия (отображение файлов, почтовые ящики, каналы)
одну из следующих задач в соответствии с вариантом: