我的项目可以分为三个组件:桌面应用程序、服务器后端、服务器前端。我正在使用websockets应用程序-后端和后端-前端通信。前端是单页应用程序。整个看起来都是这样的:
我需要实现前端和应用程序之间的通信(上图中的虚线箭头)。我可以使用后端服务器作为代理,但是在前端和应用程序之间进行直接通信会更有用,这样就不会浪费后端资源。
有没有办法在本地应用程序和网络前端之间建立直接联系?
PS:我使用Go作为后端和应用程序,JavaScript用于前端,WebSockets用于通信,但一般的架构答案是受欢迎的。
发布于 2015-04-24 21:42:40
您是否试图从桌面应用程序连接到JavaScript前端?如果是这样的话,我可以考虑以下选项
总的来说,我认为WebRTC可能是一个更好的解决方案。这两种解决方案都要求您在现代浏览器( Chrome/Firefox )中运行web前端。
如果您必须处理IE,我只能想到让您的桌面应用程序运行本地web服务器,并让您的web应用程序轮询/发布到它。即使如此,您也必须解决跨域问题,而且您可能希望围绕它实现某种级别的安全性,因此会变得相当混乱。
发布于 2015-04-24 18:56:42
这可能有效,但可能需要一些额外的思考才能安全地完成:
让您的桌面程序在任意端口p上运行web(套接字)服务器,然后尝试从前端与localhost:p对话。
或者你可以尝试在浏览器和桌面应用程序之间做WebRTC。快速搜索发现了https://github.com/coreos/go-webrtc-datachannel,这只是一份计划文档。
https://stackoverflow.com/questions/29847717
复制相似问题