我有一个与HTML5作为桌面应用程序替代品有关的问题。
目前,我的公司开发了一个C++语言的WinCE应用程序,带有C++的GUI,它通过套接字(C++Windows应用程序(接收消息并将其发送到业务逻辑层。我们希望在Linux上移植此软件,但要实现可交叉编译的软件。整个应用程序在单个嵌入式PC(BL和GUI(上运行。
关于表示层,我们正在研究HTML5可能的解决方案,但是我有一些疑问。事实上,我读到一些浏览器支持Web套接字的功能,但似乎这种套接字不是通用的TCP/UDP套接字,而是进一步专用的,它们的实现在服务器端类中提供,如 Socket.IO(Java e node.js(和Jetty(Java(。
那么,是否有人可以向我提供一些反馈,说明如何/是否可以使用 HTML5 作为表示层,并通过套接字将更新从/发送到 GUI 到与网页在同一主机上运行的应用程序?
我希望这个问题满足stackexchange"风格"和规则的要求,我尽力做到尽可能清晰。此致敬意。乔瓦尼·帕罗迪
没有什么能阻止您在同一主机上的前端和后端通过 WebSocket 通过环回进行通信。
我假设您不愿意将后端移植到其他语言,因此您需要一个C++ WebSocket 实现。我没有遵循Microsoft在这方面提供的内容,但是在使用Boost/ASIO时,我建议查看WebSocket++。
此外,WebSocket 仍然是相对较低的级别(双向发送消息(。所以你可能想要更高层次的东西。您可能想看看WAMP(WebSocket应用程序消息传递协议(,它为您提供了RPC和PubSub消息传递模式。使用它,您可以插入/交换您的前端(例如,拥有本机Android(与相同的,未更改的后端通信 - 后端也是如此。解耦。
有各种语言的客户端和路由器(读取:服务器(实现。
顺便说一句:Chrome,Firefox和IE(从版本10开始(以及其他浏览器都支持WebSocket。
我需要更多地了解具体的附带条件和要求,以提供更多提示......
披露:我是Autobahn,WAMP的原作者,并为Tavendo工作。