У нас есть служба мониторинга .net, которая работает на нескольких компьютерах, установленных по всей Великобритании в местах расположения клиентов. Нам нужно иметь возможность общаться с этими компьютерами из центрального веб-приложения, чтобы отправлять им отдельные команды и запрашивать данные у них.
Все эти ПК имеют подключение к Интернету, но могут находиться за брандмауэрами. Поскольку с этими компьютерами невозможно связаться напрямую с URL-адреса, нам необходимо, чтобы эти «работники» могли подключиться к централизованному серверу, идентифицировать себя и затем отвечать на команды с сервера.
Мы рассматриваем WCF P2P как решение, но у нас есть несколько проблем по этому поводу (можете ли вы нацелить это на отдельного работника, и мы будем страдать от проблем с NAT и брандмауэрами). Мы также рассмотрели возможность использования XMPP в качестве протокола для связи.
P2P - это путь вперед или есть лучшее решение (WCF или иное).
Спасибо