diff options
Diffstat (limited to 'src/server/net')
-rw-r--r-- | src/server/net/client.cpp | 6 | ||||
-rw-r--r-- | src/server/net/discoverylistener.cpp | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/server/net/client.cpp b/src/server/net/client.cpp index e55fb3b..5086ea1 100644 --- a/src/server/net/client.cpp +++ b/src/server/net/client.cpp @@ -122,14 +122,16 @@ void Client::onDataArrival() } bool ret; - while (_socket->bytesAvailable()) + while (_socket->bytesAvailable() > 0) { ret = _fromClient.readMessage(_socket); // let the message read data from socket - if (!ret) // error parsing msg, disconnect client! + if (ret == NM_READ_FAILED) // error parsing msg, disconnect client! { this->disconnect(); return; } + if (ret == NM_READ_INCOMPLETE) + return; if (_fromClient.readComplete()) // message is complete { this->handleMsg(); diff --git a/src/server/net/discoverylistener.cpp b/src/server/net/discoverylistener.cpp index e205c77..892ca53 100644 --- a/src/server/net/discoverylistener.cpp +++ b/src/server/net/discoverylistener.cpp @@ -145,7 +145,7 @@ void DiscoveryListener::onReadyRead() } ++_packetCounter[bucket]; _packet.reset(); - if (!_packet.readMessage(data, (quint32)size)) + if (_packet.readMessage(data, (quint32)size) != NM_READ_OK) continue; // Valid packet, process it: const QByteArray iplist(_packet.getFieldBytes(_IPLIST)); |