我有一个在本地系统上运行的 C# 程序,它需要能够做两件事。
- 在运行 Windows、Linux 或 Android 的远程系统上异步启动远程作业。
- 为这些系统提供一种将这些作业的输出(StdOut/StdErr)发回本地系统的方法。
以前我在与远程 Windows 系统通信时使用过 WCF。我在远程 Windows 系统上创建了一个 WCF 服务器,然后我的本地计算机可以通过该 WCF 通道发送命令和消息。当我尝试在 Linux 和 Android 上做同样的事情时,事情变得更加复杂。
我想我可以使用 REST 设置本地 WCF 服务,这样所有 3 个平台都可以通过 JSON REST 使用任何方便的语言(很可能是 c++)向它发送消息。但是,那么完成要求 #1 的最佳方法是什么?
我应该费心用 C++ 创建一个在 Linux 和 Android 上运行的 REST 服务器吗?WCF 甚至可以使用不是用 .Net 编写的 C++ REST 服务器吗?只用 TCP 套接字做一些简单的事情会更好吗?
安全不是问题,因为这是在安全的专用网络上使用的。我只是在寻找运行远程命令/进程并从这些远程系统接收响应消息的最简单方法。