Каналы

Обновлен: Ноябрь 2007

Каналы представляют собой средство межпроцессного взаимодействия. Существует два вида каналов.

  • Анонимные каналы.

    Анонимные каналы обеспечивают межпроцессное взаимодействие на локальном компьютере. Анонимные каналы используют меньше системных ресурсов, чем именованные каналы, но их возможности ограничены. Анонимные каналы являются односторонними и не могут использоваться для взаимодействия по сети. Они позволяют использовать только один экземпляр сервера. Анонимные каналы удобно использовать для организации взаимодействия между потоками или между родительскими и дочерними процессами — в этом случае дескриптор канала можно просто передать дочернему процессу при его создании.

    В .NET Framework анонимные каналы реализуются с помощью классов AnonymousPipeServerStream и AnonymousPipeClientStream.

  • Именованные каналы.

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

    В .NET Framework именованные каналы реализуются с помощью классов NamedPipeServerStream и NamedPipeClientStream.

См. также

Задачи

Практическое руководство. Использование анонимных каналов для взаимодействия между локальными процессами

Практическое руководство. Использование именованных каналов для взаимодействия между процессами по сети

Другие ресурсы

Файловый и потоковый ввод-вывод