1 回答
TA贡献1854条经验 获得超8个赞
没有“最好”的方法。这几乎是一个见仁见智的问题,它会根据经验、要求和个人喜好而有所不同。两个进程进行通信有几十种不同的好方法。对于您描述的相对简单的情况,它们中的任何一个都可以正常工作。我会提供一些想法。
首先,您是否有任何理由不直接向机器人添加 Web UI?然后,您只有一个程序。您可以向公开控制面板界面的机器人添加 Web 界面。node.js 使添加 Web 界面变得非常容易(可能使用 Express 和您最喜欢的模板子系统)。然后网络界面可以直接访问机器人并可以直接控制它。
其次,如果你有一些令人信服的理由认为控制面板应该是一个单独的程序,它也可以使用 electron 之类的东西在 node.js 中编写。
第三,如果您坚持为控制程序使用 C#,那么您只需决定要使用哪种基于 TCP 的方案来让这两个程序相互通信。对于单向通信(控制面板向机器人发送请求),您可以在机器人上公开一个简单的 http 接口,然后从 C# 控制程序向该接口发送 http 请求。一个人可以在 node.js 程序中创建一个带有一些控制方法的 http 接口,实际上大约需要 5 分钟。然后,您可以使用 C# 提供的任何库向另一台服务器发送 http 请求。
如果您想要/需要 bot 和控制面板之间的双向通信,以便 bot 可以定期向控制面板发送信息,那么您可以使用 socket.io 连接将两者连接起来,然后您将拥有一个连续的双向通信通道两者之间打开。您将向您的 node.js 应用程序添加一个 socket.io 服务器,并在您的 C# 应用程序中使用一个 socket.io 库。然后,C# 应用程序将创建与您的机器人的 socket.io 连接,然后您可以通过该连接以任一方式发送数据/命令。
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报