HTML5桌面应用程序和C ++业务逻辑

时间:2013-10-05 08:55:19

标签: c++ html5 websocket

我有一个与HTML5相关的问题作为桌面应用程序的替代品。

目前,我公司开发了一个C ++语言的WinCE应用程序,其中包含一个C ++ GUI,它通过套接字(C ++ Windows App)接收和发送消息到业务逻辑层。 我们想在Linux上移植这个SW,但要实现交叉编译SW。 整个应用程序在单个嵌入式PC(BL和GUI)上运行。

关于表示层,我们正在调查HTML5可能的解决方案,但我有一些疑问。 事实上,我读到一些浏览器支持Web套接字的功能,但似乎这种套接字不是通用的TCP / UDP套接字,而是进一步专门化,它们的实现在服务器端类中提供,如Socket.IO( Java e node.js)和Jetty(Java)。

那么有人可以向我提供一些反馈,告诉我如何/是否可以使用HTML5作为表示层,并通过套接字从GUI向GUI发送/接收更新到与网页在同一主机上运行的应用程序?

我希望这个问题符合stackexchange“风格”和规则的要求,我尽力做到尽可能清楚。 最好的祝福。 Giovanni Parodi

1 个答案:

答案 0 :(得分:1)

没有什么可以阻止你让你的前端和后端在同一个主机上通过WebSocket通过环回进行通话。

我假设您不愿意将后端移植到其他语言,因此您需要一个C ++ WebSocket实现。我没有按照Microsoft在这方面提供的内容,但在使用Boost / ASIO时,我建议您查看WebSocket++

此外,WebSocket仍处于较低级别(双向发送消息)。所以你可能想要更高级别的东西。您可能希望查看WAMP (The WebSocket Application Messaging Protocol),它为您提供RPC和PubSub消息传递模式。使用此功能,您可以插入/交换您的前端(例如,拥有原生Android)与同一个未更改的后端进行通信 - 后端也是如此。解耦。

各种语言都有clientsrouter(read: server)个实现。

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

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

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