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 關注
- 216 瀏覽
添加回答
舉報