Насколько я понимаю, вы рассматриваете архитектуру системы с тремя элементами. Приложение Windows, набор устройств, а затем дополнительная служба, которая будет выступать в качестве прокси или посредника, посредничая между ними.
Первый вопрос: есть ли причина, по которой приложение управления не может подключиться к самим устройствам? Приложение Windows, используемое для управления, должно иметь возможность открывать сокет для устройств так же легко, как и другое приложение. Почему бы тебе не Я думаю, еще один способ задать вопрос: Каково оправдание для введения посредника, третьего элемента, в архитектуру? Есть ли какая-то асинхронность, которую вы хотите ввести? Это вопрос масштаба - возможно, количество устройств настолько велико, что вам нужно отдельное приложение для управления связью со всеми из них, а не прямое соединение из приложения с пользовательским интерфейсом. Это вопрос топологии сети? Прежде чем подумать, какую технологию использовать в брокере, сначала решите, что заставляет вас включать брокера в архитектуру.
Предположим, что для третьего элемента есть веские основания, тогда вы можете рассмотреть вопрос о том, является ли WCF подходящей технологией связи для этого элемента. Конечно, между 2 приложениями для Windows WCF будет хорошо работать. Если они находятся на одной и той же машине, вы можете использовать привязку к именованным каналам и получить очень хорошие характеристики для локальной связи. Если эти два приложения распространяются на разных компьютерах с Windows, вы можете использовать TCP для очень хорошей производительности сетевого взаимодействия.
Вы также хотите рассмотреть связь между брокером и устройствами. WCF может соединяться с системами не-WCF. Вы должны написать некоторые расширения на стороне WCF, чтобы соединиться с существующей системой. Но это возможно, и я бы сказал, что для WCF это сценарий, близкий к основному. См. этот вопрос для получения дополнительной информации по этой теме .