1、解决因切分来车状态信息时,切分异常的问题
This commit is contained in:
parent
4eb953d178
commit
cb379ed189
|
@ -77,10 +77,11 @@ void TcpClient::connectToServer(QString ip, int port) {
|
|||
// 接收到数据
|
||||
connect(this->tcp_, &QTcpSocket::readyRead, this, [=](){
|
||||
QByteArray jsonData = this->tcp_->readAll();
|
||||
// emit sendTcpInfoSignals("--" + QString(jsonData));
|
||||
jsonData.replace("}{", "}-{");
|
||||
QList<QByteArray> jsonDataList = jsonData.split('-');
|
||||
|
||||
jsonData.replace("}{", "}&{");
|
||||
QList<QByteArray> jsonDataList = jsonData.split('&');
|
||||
for (int i = 0; i < jsonDataList.size(); i++) {
|
||||
// emit getTcpInfoSignals("TCP:" + QString(jsonDataList[i]));
|
||||
QJsonDocument jsonDocument = QJsonDocument::fromJson(jsonDataList[i]);
|
||||
if (jsonDocument.isObject()) {
|
||||
QJsonObject jsonObject = jsonDocument.object();
|
||||
|
@ -91,7 +92,7 @@ void TcpClient::connectToServer(QString ip, int port) {
|
|||
come_time = jsonObject["cometime"].toString();
|
||||
carType = jsonObject["type"].toString();
|
||||
}
|
||||
else if (jsonObject["type"].toString() != carType)
|
||||
else if (jsonObject["type"].toString() != carType && carType == "1")
|
||||
{
|
||||
// 火车无
|
||||
emit this->comeTrainSignals(false);
|
||||
|
|
|
@ -36,6 +36,7 @@ signals:
|
|||
void sendTcpInfoSignals(QString info);
|
||||
void socketComplete(QTcpSocket* tcp, QString ip, quint16 port); // tcp句柄发送给主线程监管
|
||||
void restartSocket(QString ip, int port); //重启Socket连接
|
||||
void getTcpInfoSignals(QString info);
|
||||
|
||||
};
|
||||
#endif // TCPCLIENT_H
|
||||
|
|
Loading…
Reference in New Issue