Подтвердить что ты не робот

Может ли приложение С# обмениваться данными с кодом Node.js?

У меня есть приложение С# и приложение Node.js. Я хотел бы нажать кнопку в моем приложении С#, чтобы отправить три аргумента в приложение Node.js в качестве ввода. Возможно ли это?

Изменить: Оба приложения запускаются на одном компьютере. Приложение С# предоставит три аргумента приложению Node.js. Приложение Node.js будет запрашивать веб-службу (POST), получать некоторые XML-данные и манипулировать этими данными. Я знаю, что я мог бы выполнить эту задачу и на С#, но в этом случае это должно быть Node.js.

Изменить №2 и решение: сейчас я выбрал: 4. Your node process runs a socket server and your C# app does requests over tcp.

Я также предоставил решение, которое, кажется, работает:

Теперь вы готовы отправить любые данные из вашего приложения С# на сервер Node.js.

4b9b3361

Ответ 1

Да, общение возможно, как указано несколькими людьми в ваших комментариях.

Это (некоторые) варианты:

  • Процесс node запускает HTTP-сервер, а ваше приложение С# выполняет запросы JSON Rest по http
  • Процесс node запускает веб-сервис SOAP с помощью node-soap
  • Приложение С# запускает ваше приложение node, и вы делаете IPC, записывая входной поток процесса node и читаете его выходным потоком.
  • Процесс node запускает сервер сокетов, а ваше приложение С# выполняет запросы по tcp.
  • Вы используете третий процесс/сервер, например Redis или Message Queue
  • Все, что позволяет вам обмениваться данными, такими как файлы.

Я бы порекомендовал вам перейти к первому варианту, так как это не требует, чтобы вы определяли языковой протокол для отправки по "проводу". Другая причина заключалась бы в том, что имеется много документации по использованию Rest with С# и node.js.

В качестве клиентской библиотеки на С# я бы предложил вам посмотреть Restsharp в качестве клиентской библиотеки, если вы не можете использовать последнюю версию .NET. (4.5). Если вы можете использовать последнюю версию, используйте HttpClient, чтобы позвонить в ваш node.js restservice. Для node просто используйте Express.

Вариант 2 может быть быстрым, так как есть хорошая поддержка в VS для веб-сервисов, однако я использовал только node -soap в качестве клиента, поэтому не могу прокомментировать, насколько хорошо работают веб-службы node -sapap с С# клиентов.