Каналы
Обновлен: Ноябрь 2007
Каналы представляют собой средство межпроцессного взаимодействия. Существует два вида каналов.
Анонимные каналы.
Анонимные каналы обеспечивают межпроцессное взаимодействие на локальном компьютере. Анонимные каналы используют меньше системных ресурсов, чем именованные каналы, но их возможности ограничены. Анонимные каналы являются односторонними и не могут использоваться для взаимодействия по сети. Они позволяют использовать только один экземпляр сервера. Анонимные каналы удобно использовать для организации взаимодействия между потоками или между родительскими и дочерними процессами — в этом случае дескриптор канала можно просто передать дочернему процессу при его создании.
В .NET Framework анонимные каналы реализуются с помощью классов AnonymousPipeServerStream и AnonymousPipeClientStream.
Именованные каналы.
Именованные каналы обеспечивают межпроцессное взаимодействие между сервером и одним или несколькими клиентами. Именованные каналы могут быть односторонними или двусторонними. Они поддерживают связь с помощью сообщений и позволяют нескольким клиентам подключаться к серверному процессу одновременно, используя одно и то же имя канала. Именованные каналы также поддерживают олицетворение, позволяющее подключающимся процессам использовать собственные разрешения на удаленных серверах.
В .NET Framework именованные каналы реализуются с помощью классов NamedPipeServerStream и NamedPipeClientStream.