Поделиться через


Операции с каналами в .NET

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

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

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

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

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

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

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

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

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

См. также