本页内容

网络与连接

Qt Network 提供了用于网络通信、Web 集成和设备连接的模块。您可以将联网应用程序部署到多个平台和设备上。

通过网络与Qt Network

该 Qt Network 模块提供了 Qt Network 中的主要网络 API。其 C++ API 允许应用程序以安全且高效的方式利用操作系统的原生网络功能。 您可以将 Qt 应用于各种场景,例如通过 TCP 或 UDP 套接字发送和接收数据、针对 REST API 或 Web 服务执行 HTTP/HTTPS 请求、下载和上传文件、处理代理和身份验证,以及使用 SSL/TLS 建立安全连接。

有关更多信息,请参阅《使用 Qt Network 进行网络编程》概述。

从 QML 访问资源

QML 类型可以从 URL 加载资源。这些资源可以是图像、文本文件、源文件或其他类型的文件。这可以简化与不同数据源的连接。有关更多信息,请参阅《资源加载与网络透明性》概述。

您还可以在 QML JavaScript 中使用XMLHttpRequest来实现 HTTP 客户端功能,例如提交表单数据或从服务器异步加载数据。

使用 WebSockets 进行通信

Qt WebSockets 为 Qt 应用程序提供了 WebSocket 功能。 WebSocket 协议适用于需要实时、持久且完全异步连接的客户端-服务器通信。与 HTTP 相比,WebSocket 具有更低的延迟和更高的吞吐量。WebSocket 使用 HTTP 1.1 GET 请求进行初始握手过程,但数据包格式有所不同。

受益于 WebSockets 的应用程序包括金融市场数据源和消息服务。有关示例,请参阅Qt WebSockets 示例页面。

运行 Web 服务

该 Qt HTTP Server 模块提供了用于在网络上开发 Web 服务的类。Qt HTTP Server 支持 HTTP/1.1 和 HTTP/2 协议,并提供路由功能以创建 RESTful API。

Qt OpenAPI模块可根据 OpenAPI 规范文件生成 Qt HTTP 客户端代码。它利用Qt Network 的 RESTful API(例如QRestAccessManager )为 REST 服务创建类型安全的 C++ 客户端。

注意:Qt OpenAPI 目前处于技术预览阶段。

将 Web 内容集成到 Qt 应用程序中

Qt WebEngine 提供基于 Chromium 的 Web 内容渲染功能,并可与其他 Qt 模块集成。您可以使用Qt WebEngine 将 Chromium 的渲染引擎嵌入到 Qt 应用程序中,并在其中处理 Web 内容。Qt WebEngine 支持 HTML5、WebGL 以及其他 Chromium 功能。有关Qt WebEngine 功能的列表,请参阅Qt WebEngine 功能页面。

Qt WebChannel 可将 JavaScript 内容集成到您的 Qt 应用程序中。使用QWebChannel 将应用程序中的 C++ 对象对外暴露,并通过JavaScript 库从 Web 客户端访问这些对象。随后,即可通过 JavaScript 中的QWebChannel 对象访问 Qt 对象、属性和信号。Qt WebChannel 使用 WebSockets,并在Qt WebEngine 环境中运行。

Qt WebView 是一个轻量级的 Web 视图,可在您的应用程序中显示 Web 内容。它基于平台的原生 Web 视图。

通过蓝牙和 NFC 实现无线连接

蓝牙(Bluetooth)是一种用于短距离数据交换的无线技术标准。蓝牙在消费类设备中十分常见,其新版本还包括具有增强安全措施的蓝牙低功耗(BLE)设备。借助 Qt Bluetooth 模块,您可以扫描蓝牙设备、连接设备并交换数据。Qt Bluetooth 同时支持经典蓝牙和BLE设备。有关更多信息,请参阅《Qt Bluetooth 概述》。

近场通信(NFC)是一种数据传输速率低、功耗低的短距离无线技术。当两台设备彼此靠近时,NFC 非常适合传输小数据包。使用 Qt NFC 模块及其 API,可在支持 NFC 的设备之间建立连接。

通过串行总线和端口进行通信

Qt 提供了两个用于通过串行总线和端口进行通信的模块。 Qt Serial Bus 模块为各种工业级串行总线和协议(如 CAN 总线和 ModBus)提供了接口。 Qt Serial Port 模块提供了一个用于 RS-232 引脚配置、I/O 操作以及控制信号读写操作的接口。

使用高级协议和服务进行通信

Qt 提供多个用于高级网络通信和进程间通信 (IPC) 的模块。此外,还支持机器对机器 (M2M) 行业协议以及小型物联网 (IoT) 系统。例如,Qt 提供了用于D-Bus、gRPC、MQTT 和CoAP 的模块。

有关更多信息,请参阅“Qt 中的进程间通信”页面。

保障网络应用程序的安全

对于联网和连接设备,请注意相关的安全事项。应实施强健的安全措施和应用程序设计,以保护用户、其数据以及您的网络系统。

以下是一些可实施的安全措施:

  • 在发送或接收数据时使用加密。请参阅“安全套接层(SSL)类”。
  • 使用强认证和授权机制。请参阅《Qt Network 授权》。
  • 验证并处理不可信数据。请参阅《处理不可信数据》。
  • 设置速率限制并监控流量,以防止滥用。
  • 采用加盐或随机数(nonce)技术,以防范监听和重放攻击。
  • 更新您的环境以修复安全漏洞。

有关 Qt 安全策略和措施的更多信息,请参阅《Qt 中的安全》。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.