2012-10-23 81 views
5

我目前有一个基于Qt的GUI应用程序,它只是简单地提供一个图形仪表板(规格,图形等),显示由另一个应用程序通过TCP连接提供的实时数据。由于架构和安全原因,我被告知我的TCP连接不再被允许,并且HTTPS websocket将成为我唯一的管道。有人建议我将应用程序转换为使用HTML5和Javascript的web应用程序。但是,我不是一个网络程序员,但可以认为这是学习新技术的机会。在作出决定之前,我想先了解一下风景。所以,我认为我的选择是:关于从Qt应用程序转换为Web应用程序的建议

  1. 将我的应用程序转换为网络应用程序,给我所有基于Web的应用程序的优点/缺点。对我来说更多的工作,因为它是一种新技术,我已经有了Qt/TCP版本正常工作。如果这是建议的方法,任何有关开发环境/工具的建议将不胜感激。

  2. 将我当前的Qt应用程序转换为客户端HTTPS连接而不是TCP连接。不知道这是可能的。从我读过的内容来看,这可能不适用于QtWebKit。似乎很奇怪?

也许还有另一种选择我不考虑?

回答

3

您还可以使用WT库的混合方法。这是C++(和QT启发)的基础。 它有一个很好的工具包,并支持websockets。

http://www.webtoolkit.eu/wt/examples/

+0

Wt基于Boost,而不是Qt。考虑到Wt在C++中,它将允许在移植时重新使用非GUI逻辑。但是GUI必须从头开始。它没有LGPL许可证。 – divanov

0

我刚刚经历了一场类似的活动工作去了最近。我们使用Google Web Toolkit(GWT)框架来完成我们的Web应用程序。它完全基于Java,意味着你用Java编写(几乎)所有东西,并且GWT编译器会将它转换为Javascript。我们使用GWT-EventService插件将数据从服务器推送到客户端。

我希望在开始之前我已经了解了这个WT库,但看起来很有趣。

+0

从Qt移植到GWT可能并不比从Qt移植到纯Web应用程序更容易。 – divanov

0

移植需要很多工作。 Qt的侧有的WebSockets的至少两个实现:

  1. QtWebSocket,基于Qt的WebSocket服务器实现和α-状态执行的WebSocket客户端的。
  2. WebSocket++,基于Boost的websocket服务器和客户端实现。
0

你也可以看看QWebSockets,这是一个纯粹的QS实现的websocket,无论是客户端还是服务器端。

更新:此库现在是Qt的组成部分

相关问题