У меня есть проект, который изначально планировался как простая архитектура клиентского сервера через HTTP с сервером, написанным на Node.js, и клиентом, являющимся приложением .NET Windows, написанным на C#.Сервер Node.js выдаёт команды клиенту Windows C#
Клиент должен был осуществлять контроль над приложением Windows C#, которое, в свою очередь, отправило бы некоторые запросы на данные на сервер.
Теперь я собираюсь переместить весь контроль над приложением на сервер, так что .NET-приложение имеет минимальный интерфейс и полностью контролируется через веб-интерфейс на сервере. В этом случае клиент регистрируется в веб-приложении, нажимает кнопки, и сервер отправляет команды и данные в приложение C# в Windows.
Проблема, конечно, если я делаю это по HTTP, это становится беспорядок с точки зрения правильной конфигурации на стороне клиента: правила брандмауэра должны разрешать подключение к клиентским компьютерам из Интернета и NAT.
Есть ли способ избежать этих проблем на стороне клиента? Например, инициируя соединение с клиентом (как только клиентское программное обеспечение запущено), а затем постоянно его открывать для приема команд с сервера?
Хорошо, это то, что я подозревал. Любые другие протоколы? – krl
добавил еще один :) –
в порядке. спасибо за хорошие отправные точки. – krl