我的项目可以分为 3 个组件:桌面应用程序、服务器后端、服务器前端。我正在使用 websockets 应用程序后端和后端前端通信。前端是单页应用程序。整体看起来像这样:
我需要实现前端和应用程序之间的通信(上图中的虚线箭头)。我可以使用后端服务器作为代理,但在前端和应用程序之间进行直接通信会更有用,这样就不会浪费后端资源。
有什么方法可以在本地应用程序和 Web 前端之间建立直接连接?
PS:我将 Go 用于后端和应用程序,JavaScript 用于前端,WebSockets 用于通信,但欢迎回答一般架构问题。
最佳答案
您是否尝试从您的桌面应用程序连接到 JavaScript 前端?如果是这样,我可以想到以下方案
- WebRTC。它受 Chrome(和 Opera)和 Firefox 支持。
- Chrome native 消息传递,这显然只适用于 chrome,从您的桌面应用程序的标准输入发送/接收信息。
总的来说,我认为 WebRTC 可能是更好的解决方案。不过,这两种解决方案都需要您在现代浏览器 Chrome/Firefox 中运行您的 Web 前端。
如果你必须处理 IE,我只能想到让你的桌面应用程序运行本地 Web 服务器,并让你的 Web 应用程序轮询/发布到它。即使那样,您也必须解决跨域问题,并且您可能希望围绕它实现某种级别的安全性,因此它变得相当困惑。
关于html - 桌面应用程序和 Web 前端之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29847717/