1

我有一个关于 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“风格”和规则的要求,我尽我所能尽可能地清楚。最好的祝福。乔瓦尼·帕罗迪

4

1 回答 1

1

没有什么能阻止您让您的前端和后端在同一主机上通过 WebSocket 通过环回进行通信。

我假设你不愿意将你的后端移植到不同的语言,所以你需要一个 C++ WebSocket 实现。我没有遵循微软在这方面提供的内容,但是在使用 Boost/ASIO 时,我建议查看WebSocket++

此外,WebSocket 还是比较低级的(双向发送消息)。所以你可能想要更高层次的东西。您可能想查看WAMP(WebSocket 应用程序消息传递协议),它为您提供 RPC 和 PubSub 消息传递模式。使用它,您可以插入/交换您的前端(例如,拥有原生 Android)与相同的、未更改的后端对话 - 后端相同。脱钩。

有各种语言的客户端路由器(读取:服务器)实现。

顺便说一句:Chrome、Firefox 和 IE(从版本 10 开始)以及其他浏览器都支持 WebSocket。

我需要更多地了解具体的附带条件和要求以提供更多提示..

披露:我是 Autobahn、WAMP 的原作者,并为 Tavendo 工作。

于 2013-10-05T18:00:12.653 回答