Qt 自带了 WebSocket 的客户端,使用起来也很方便,我们在其基础上进行了简单的封装,支持自动重连以及定时心跳发送。WebSocket 客户端的调用者只需要关注下面代码中的几个方法和信号就可以了。
1 | MainWidget::MainWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MainWidget) { |
我们封装的 WebSocket 代码包含下面 2 个文件: WsClient.h 和 WsClient.cpp。在实际使用的时候,根据 WebSocket 服务器端设计稍微修改以下几个地方:
- URL 参数稍微修改一下:
WsClientPrivate::connectUrl()
- 心跳消息
- 消息格式:
WsClient::sendMessage
中的消息格式
WsClient.h
1 | #ifndef WSCLIENT_H |
WsClient.cpp
1 |
|