#include "websocketclient.h" WebsocketClient::WebsocketClient(QObject *parent, QString ip, quint16 port, QString termId, QString termKey) : QObject(parent) { TermId = termId; TermKey = termKey; Ip = ip; Port = port; // so = new QTcpSocket(this); // connect(so,&QTcpSocket::connected,this,&WebsocketClient::onConnected); // connect(so,&QTcpSocket::readyRead,this,&WebsocketClient::onTextMessageReceived); // connect(so,&QTcpSocket::stateChanged,this,&WebsocketClient::onStatusChanged); // so->connectToHost(Ip,Port); connect(&m_websocket, SIGNAL(connected()), this, SLOT(onConnected())); connect(&m_websocket, SIGNAL(disconnected()), this, SLOT(closeConnection())); connect(&m_websocket, SIGNAL(textMessageReceived(QString)), this, SLOT(onTextMessageReceived(QString))); QString path = QString("%1:%2").arg(Ip).arg(Port); QUrl url = QUrl(path); m_websocket.open(url); } void WebsocketClient::reset() { if(so->isOpen()){ so->abort(); } } void WebsocketClient::onConnected() { QString cmd = QString("{\"agentid\":\"shjtdxyxy\"}"); m_websocket.sendTextMessage(cmd); } void WebsocketClient::closeConnection() { m_websocket.close(); emit SoClosed(); } void WebsocketClient::onTextMessageReceived(const QString &message) { emit getData(message); }