Именованные каналы
именованный канал является именованным, односторонним или дуплексным каналом для обмена данными между сервером канала и одним или несколькими клиентами канала. Все экземпляры именованного канала имеют одно и то же имя канала, но каждый экземпляр имеет собственные буферы и дескрипторы, а также предоставляет отдельный канал для обмена данными между клиентом и сервером. Использование экземпляров позволяет нескольким клиентам каналов одновременно использовать один и тот же именованный канал.
Любой процесс может получить доступ к именованным каналам, при условии проверки безопасности, что делает именованные каналы легкой формой взаимодействия между связанными или не связанными процессами.
Любой процесс может выступать как сервером, так и клиентом, что делает одноранговую связь возможной. Как используется здесь, сервер канала терминов относится к процессу, который создает именованный канал, и клиент канала терминов ссылается на процесс, который подключается к экземпляру именованного канала. Серверная функция для создания экземпляра именованного канала CreateNamedPipe. Серверная функция для принятия подключения ConnectNamedPipe. Клиентский процесс подключается к именованным каналу с помощью функции CreateFile или CallNamedPipe.
Именованные каналы можно использовать для обеспечения связи между процессами на одном компьютере или между процессами на разных компьютерах в сети. Если служба сервера запущена, все именованные каналы доступны удаленно. Если вы планируете использовать именованный канал только локально, запретите доступ к NT AUTHORITY\NETWORK или переключитесь на локальный RPC.
Дополнительные сведения см. в следующих разделах:
- Имена каналов
- режимы открытия именованного канала
- тип именованного канала, режимы чтения и ожидания
- экземпляры именованных каналов
- операции с именованным каналом
- синхронные и перекрывающиеся входные и выходные
- именованных каналов безопасности и доступа
- олицетворение клиента именованного канала
- использование каналов