summaryrefslogtreecommitdiffstats
path: root/src/server/net/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/net/client.cpp')
-rw-r--r--src/server/net/client.cpp6
1 files changed, 4 insertions, 2 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();