From fbe0d6dbd0500b15b1396f8dd72477eecac8f888 Mon Sep 17 00:00:00 2001 From: Anonymous275 Date: Sun, 8 Nov 2020 22:17:59 +0200 Subject: [PATCH] TCP Header fix --- src/Network/VehicleEvent.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/Network/VehicleEvent.cpp b/src/Network/VehicleEvent.cpp index e174584..a9fbc92 100644 --- a/src/Network/VehicleEvent.cpp +++ b/src/Network/VehicleEvent.cpp @@ -55,12 +55,17 @@ void TCPRcv(){ Terminate = true; return; } - int32_t Header,BytesRcv,Temp; - BytesRcv = recv(TCPSock, reinterpret_cast(&Header), sizeof(Header),0); - // convert back to LITTLE ENDIAN - //Header = ntohl(Header); + int32_t Header,BytesRcv = 0,Temp; + std::vector Data(sizeof(Header)); + do{ + Temp = recv(TCPSock,&Data[BytesRcv],4-BytesRcv,0); + if(!CheckBytes(Temp))return; + BytesRcv += Temp; + }while(BytesRcv < 4); + memcpy(&Header,&Data[0],sizeof(Header)); + if(!CheckBytes(BytesRcv))return; - std::vector Data(Header); + Data.resize(Header); BytesRcv = 0; do{ Temp = recv(TCPSock,&Data[BytesRcv],Header-BytesRcv,0);