Межпроцессное взаимодействие и широковещательная передача

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

У меня уже есть некоторые основные идеи, но нужно убедиться в следующих моментах?

  1. Может ли канал имен иметь более одного клиента одновременно?

  2. Поддерживает ли он связь через разные процессы, построенные на разных языках.

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


person shujaat siddiqui    schedule 14.02.2014    source источник


Ответы (1)


Нет, один канал поддерживает только одного клиента. Подобно веб-серверу, он также создает несколько подключений к каждому отдельному клиенту. Трубный сервер работает так же.

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

Windows поддерживает другой объект для трансляции — почтовый ящик. Его никогда не портировали на .NET, он довольно бесполезен. Вещание ненадежно, это все равно, что кричать на переполненном футбольном стадионе без какой-либо гарантии, что вас кто-нибудь услышит. Если вам нужны широковещательные передачи, вам следует рассмотреть сокет UDP. И, конечно же, иметь дело с последствиями случайной потери данных.

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

person Hans Passant    schedule 14.02.2014
comment
Сэр, спасибо за ваш ответ. После прочтения нескольких статей и поиска в Google. Я пришел к выводу, что мне нужно создать мьютекс, и другой процесс может получить доступ к этому мьютексу. однако я не знаю, как я могу добиться этого с помощью программирования на С#. Можете ли вы поделиться какой-нибудь статьей или образцом кода? Это будет очень ценно для меня. - person shujaat siddiqui; 14.02.2014
comment
Это другой вопрос, вы можете задать его (после поиска), нажав кнопку «Задать вопрос» еще раз. - person Hans Passant; 14.02.2014