2014-02-14 5 views
2

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

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

  1. Существует ли в названии труба одновременно более одного клиента?

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

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

ответ

5

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

Да, мост между процессами является основным прецедентом для именованных труб.

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

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

+0

Сэр, спасибо за ваш ответ. После прочтения нескольких статей и поиска в google. Я пришел к выводу, что мне нужно сделать мьютекс, и другой процесс может получить доступ к этому мьютексу. однако я не понимаю, как я могу достичь этого, программируя в C#. Есть ли какая-либо статья или образец кода, который вы можете поделиться? Это будет очень полезно для меня. –

+0

Это еще один вопрос, вы можете попросить его (после поиска), нажав кнопку Ask Question еще раз. –