WebSocket 是一种基于 Web 的协议,旨在实现客户端应用程序和远程主机之间的双向通信。 如果初始握手成功,它使两个实体能够来回发送数据。 WebSocket 是为那些难以以更少的网络延迟和最少的数据交换获得实时数据馈送的应用程序的解决方案。
Qt WebSockets 模块提供 C++ 和 QML 接口,使 Qt 应用程序能够充当可以处理 WebSocket 请求的服务器,或者可以使用从服务器接收到的数据的客户端,或者两者兼而有之。
一、websocket如何工作
基于 WebSocket 的解决方案由客户端和服务器端组成。大多数流行的 Web 浏览器都提供对 WebSocket 的本机客户端支持。
WebSocket 连接以初始 HTTP 兼容握手开始,这确保了向后兼容性,以便 WebSocket 连接可以共享默认的 HTTP (80) 和 HTTPS (443) 端口。成功握手后,连接将打开以进行数据交换,直到两个实体之一结束连接。
WebSocket 协议使用 ws: 和 wss: URL 方案分别表示不安全和安全的 WebSocket 请求。
二、合适场景
WebSocket 最适合以下场景:
- 提供的数据必须是最新的,
- 低网络延迟和最少的数据交换至关重要。
如即时消息、在线游戏、在线股票交易等。
三、类列表
- QMaskGenerator
- QWebSocket
- QWebSocketCorsAuthenticator
- QWebSocketServer