aboutsummaryrefslogtreecommitdiff
path: root/client/Client.cpp
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2022-10-30 15:55:56 +0100
committerlonkaars <loek@pipeframe.xyz>2022-10-30 15:55:56 +0100
commit0c8e3c7e6cdc99a14b38edd747d07d7b03fb294c (patch)
treefda541fb5f170a3df6f51ab6ac8ad9f726dc3d49 /client/Client.cpp
parenta2f62610144d1ba496ece3946a1e64fe8d6e0f9c (diff)
client fix
Diffstat (limited to 'client/Client.cpp')
-rw-r--r--client/Client.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/client/Client.cpp b/client/Client.cpp
index e50be5e..61e51e4 100644
--- a/client/Client.cpp
+++ b/client/Client.cpp
@@ -18,28 +18,32 @@ Client::~Client()
delete timer;
}
-void Client::ClientEcho()
-{
-
- connect(timer, SIGNAL(timeout()),this,SLOT(timeFunction())); // connect timer to time every minute
-
- // connect to readyread to receive data;
- connect(socket,&QTcpSocket::readyRead, [&]() {
- QTextStream T(socket);
- QString text = T.readAll(); // reads all data
- Handlemsg.ParseToSQL(Handlemsg.ParseMessage(text, (totalRecords-'0')));
+void Client::ClientEcho() {
+ static unsigned int lineCounter = 0;
+ connect(timer, SIGNAL(timeout()),this,SLOT(timeFunction())); // connect timer to time every minute
+ // connect to readyread to receive data;
+ connect(socket,&QTcpSocket::readyRead, [&]() {
+ QTextStream T(socket);
+ QString text = T.readAll(); // reads all data
+ lineCounter++;
+ if (lineCounter <= 2) return;
+ Handlemsg.ParseToSQL(text);
+ });
- });
+ connect(socket, &QTcpSocket::disconnected, [&]() {
+ socket->disconnectFromHost();
+ lineCounter = 0;
+ });
- timer->start(1000);
+ timer->start(1000);
}
void Client::timeFunction() {
if((QTime::currentTime().second() % WS_CLIENT_STATION_POLL_INTERVAL) != 0) return;
this->missingRecords();
- totalRecords = WS_MAX(1, _missingRecords);
+ totalRecords = WS_MIN(WS_MAX(1, _missingRecords), 50);
char* msg = NULL;
asprintf(&msg, "last-records %x %x\n", totalRecords, offsetRecords);