qt通过websocket和html通信,Qt WebSocket的简单对接

WebSocket准备工作

Qt上的socket在我发现的有两种,TcpSocket与WebSocket,此次仅涉及WebSocket。

WebSocket对接

1.首先需要在 .pro文件中引入

QT += websockets

并包含头文件

#include

2.初始化websocket相应方法

QWebSocket *websocket;

private slots:

void onDisconnected();//断开连接后执行方法

void onConnected();//连接成功后执行方法

void onBinaryMessageReceived(QByteArray message);//收到数据后执行方法(此处为收到二进制数据方法)

void onTextMessageReceived(QString message)//收到数据后执行方法(此处为收到字符数据方法)

void reconnect();//需要重连时执行方法

上述方法中关于接收数据的方法请根据后台发送的数据类型进行选择,否则可能无法接收到数据,Qt内表现数据为空,抓包软件显示有数据。

3.对接相应的信号槽与方法

信号:

websocket = new QWebSocket();

connect(websocket,SIGNAL(connected()),this,SLOT(onConnected()),Qt::UniqueConnection);

connect(websocket,SIGNAL(disconnected()),this,SLOT(onDisconnected()),Qt::UniqueConnection);

connect(websocket, SIGNAL(binaryMessageReceived(QByteArray)), this, SLOT(onBinaryMessageReceived(QByteArray)),Qt::UniqueConnection);

方法:

void Form::onDisconnected()

{

qDebug()<

reconnect();

}

void Form::onConnected()

{

qDebug()<

QString message = "";

websocket->sendTextMessage(message);

}

void Form::onBinaryMessageReceived(QByteArray message)

{

}

void WalletForm::reconnect()

{

qDebug()<

websocket->abort();

websocket->open((QUrl(url)));

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值