我有一个在本地系统上运行的C#程序,需要能够完成两件事。
以前我在与远程Windows系统通信时使用过WCF。我在远程Windows系统上创建了一个WCF服务器,然后我的本地机器可以通过该WCF通道发送命令和消息。当我尝试用Linux和Android做同样的事情时,事情变得更加复杂。
我想我可以使用REST设置本地WCF服务,这样所有3个平台都可以使用任何方便的语言(最有可能是c ++)通过JSON REST向它发送消息。但那么完成需求#1的最佳方法是什么呢?
我是否应该在Linux和Android上运行的C ++中创建REST服务器? WCF甚至可以使用不是用.Net编写的C ++ REST服务器吗? 使用TCP套接字做一些简单的事情会更好吗?
安全性不是问题,因为它用于安全的专用网络。我只是在寻找运行远程命令/进程并从这些远程系统接收响应消息的最简单方法。
答案 0 :(得分:2)
我正是为了这个目的而使用ZMQ和JSON:创建一个自定义专用网络拓扑,通过TCP(通过ZMQ)使用JSON消息进行通信。当然,您可以使用任何序列化格式(我在下面列出了一些替代方案)。
我无法给你一个明确的"这就是你应该做的事情"回答,因为这个问题相当开放。
答案 1 :(得分:0)
这实际上取决于您使用的基础架构和服务。如果您在Amazon Web Services世界中,则可以使用简单队列服务(SQS)来接收消息。然后,远程系统可以轮询队列并根据从SQS队列中提取的消息运行作业。