websocketclient.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "websocketclient.h"
  2. WebsocketClient::WebsocketClient(QObject *parent, QString ip, quint16 port, QString termId, QString termKey)
  3. : QObject(parent)
  4. {
  5. TermId = termId;
  6. TermKey = termKey;
  7. Ip = ip;
  8. Port = port;
  9. // so = new QTcpSocket(this);
  10. // connect(so,&QTcpSocket::connected,this,&WebsocketClient::onConnected);
  11. // connect(so,&QTcpSocket::readyRead,this,&WebsocketClient::onTextMessageReceived);
  12. // connect(so,&QTcpSocket::stateChanged,this,&WebsocketClient::onStatusChanged);
  13. // so->connectToHost(Ip,Port);
  14. connect(&m_websocket, SIGNAL(connected()), this, SLOT(onConnected()));
  15. connect(&m_websocket, SIGNAL(disconnected()), this, SLOT(closeConnection()));
  16. connect(&m_websocket, SIGNAL(textMessageReceived(QString)), this, SLOT(onTextMessageReceived(QString)));
  17. QString path = QString("%1:%2").arg(Ip).arg(Port);
  18. QUrl url = QUrl(path);
  19. m_websocket.open(url);
  20. }
  21. void WebsocketClient::reset()
  22. {
  23. if(so->isOpen()){
  24. so->abort();
  25. }
  26. }
  27. void WebsocketClient::onConnected()
  28. {
  29. QString cmd = QString("{\"agentid\":\"shjtdxyxy\"}");
  30. m_websocket.sendTextMessage(cmd);
  31. }
  32. void WebsocketClient::closeConnection()
  33. {
  34. m_websocket.close();
  35. emit SoClosed();
  36. }
  37. void WebsocketClient::onTextMessageReceived(const QString &message)
  38. {
  39. emit getData(message);
  40. }