Node.js 服务器向 Windows C# 客户端发出命令

Node.js server issuing commands to Windows C# client

我有一个项目,最初计划作为一个简单的基于 HTTP 的客户端服务器架构,服务器用 Node.js 编写,客户端是一个用 C# 编写的 .NET Windows 应用程序。

客户应该控制 Windows C# 应用程序,后者又会向服务器发送一些数据请求。

现在我正在考虑将应用程序的所有控制权移至服务器,以便 .NET 应用程序具有最小 UI 并且完全通过服务器上的 Web UI 进行控制。在这种情况下,客户登录 Web 应用程序,单击按钮,然后服务器将命令和数据发送到 Windows 上的 C# 应用程序。

当然,如果我通过 HTTP 执行此操作,那么在客户端的正确配置方面就会变得一团糟:防火墙规则必须允许从 Internet 连接到客户计算机,并且必须处理 NAT .

有没有办法在客户端避免这些问题?例如,通过从客户端发起连接(一旦客户端软件启动),然后保持连接持续打开以接收来自服务器的命令?

从你所说的来看,你似乎想要 websockets。

您可以为此使用 SignalR http://www.asp.net/signalr/overview/getting-started/introduction-to-signalr

如果你想用Meteor,你也可以用DDP。您可以为此使用此 .NET 客户端库 https://github.com/sonyarouje/DDPClient.NET