You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.4 KiB
C++

#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(); // ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
m_xizanSocket->waitForReadyRead(3000); // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ
recvStr = QString::fromUtf8(m_xizanSocket->readAll());
int i = 0;
}
disConnectXizan();
return recvStr;
}
void XizanManage::onReadyRead()
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ: VTFP 0 2572.59 2631.00
/*QString recvStr = QString::fromUtf8(m_xizanSocket->readAll());
emit signal_sendRecvStr(recvStr);*/
}