5

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

  1. 将我的应用程序转换为网络应用程序,为我提供基于网络的应用程序的所有优点/缺点。对我来说还有更多的工作,因为它是一项新技术,而且我已经让 Qt/TCP 版本运行良好。如果这是建议的方法,任何有关开发环境/工具的建议将不胜感激。

  2. 将我当前的 Qt 应用程序转换为客户端 HTTPS 连接而不是 TCP 连接。不确定这是可能的。从我读过的内容来看,QtWebKit 可能无法做到这一点。看起来很奇怪?

也许还有另一个我没有考虑的选择?

4

4 回答 4

3

您还可以使用混合方法,使用 WT 库。它基于 c++(和 QT 启发)。它有一个不错的工具包并支持 websockets。

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

于 2012-10-24T12:37:06.973 回答
1

移植需要大量工作。在 Qt 方面,至少有两种 WebSockets 实现:

  1. QtWebSocket,基于 Qt 的 websocket 服务器实现和 websocket 客户端的 alpha 状态实现。
  2. WebSocket++,基于 Boost 的 websocket 服务器和客户端实现。
于 2012-10-25T10:33:33.810 回答
0

我最近刚刚经历了一个类似的工作练习。我们决定使用 Google Web Toolkit (GWT) 框架来开发我们的 Web 应用程序。它完全基于 Java,这意味着您(几乎)用 Java 编写所有内容,GWT 编译器会为您将其转换为 Javascript。我们使用 GWT-EventService 插件将数据从服务器推送到客户端。

我希望我在开始之前就知道这个 WT 库,这看起来很有趣。

于 2012-10-24T12:51:02.247 回答
0

您还可以查看QWebSockets,它是 websocket 的纯 Qt 实现,供客户端和服务器使用。

更新:这个库现在是 Qt 的一个组成部分

于 2013-08-10T10:11:16.613 回答