#include "XizanManage.h" XizanManage::XizanManage() { } XizanManage::~XizanManage() { } void XizanManage::SetIpAndPort(QString& ip, int port) { m_ip = ip; m_port = port; } void XizanManage::connectXizan() { if (m_xizanSocket == nullptr) { m_xizanSocket = new QTcpSocket(this); //connect(m_xizanSocket, SIGNAL(readyRead()), this, SLOT(onReadyRead())); //connect(m_xizanSocket, &QTcpSocket::connected, this, &XizanManage::onConnected); //connect(m_xizanSocket, &QTcpSocket::readyRead, this, &XizanManage::onReadyRead); //connect(m_xizanSocket, &QTcpSocket::disconnected, this, &XizanManage::onReadyRead); } m_xizanSocket->connectToHost(m_ip, m_port); } void XizanManage::SendOrder(QString& order) { } void XizanManage::disConnectXizan() { if (m_xizanSocket != nullptr) { m_xizanSocket->disconnectFromHost(); } } QString XizanManage::GetXizanData() { QString recvStr; connectXizan(); QString str = "VTFP 0 0"; if (m_xizanSocket != nullptr) { m_xizanSocket->write(str.toStdString().c_str()); m_xizanSocket->waitForBytesWritten(); // 确保数据完全发送 m_xizanSocket->waitForReadyRead(3000); // 等待服务器响应 recvStr = QString::fromUtf8(m_xizanSocket->readAll()); int i = 0; } disConnectXizan(); return recvStr; } void XizanManage::onReadyRead() { //返回数据格式: VTFP 0 2572.59 2631.00 /*QString recvStr = QString::fromUtf8(m_xizanSocket->readAll()); emit signal_sendRecvStr(recvStr);*/ }