diff --git a/src/Network/VehicleData.cpp b/src/Network/VehicleData.cpp index baf9ba5..4d3a9ef 100644 --- a/src/Network/VehicleData.cpp +++ b/src/Network/VehicleData.cpp @@ -63,13 +63,13 @@ void UDPRcv() { socklen_t clientLength = sizeof(FromServer); #endif ZeroMemory(&FromServer, clientLength); - std::array Ret {}; - Ret.fill(0); + static thread_local std::array Ret {}; if (UDPSock == -1) return; - int32_t Rcv = recvfrom(UDPSock, Ret.data(), Ret.size(), 0, (sockaddr*)&FromServer, &clientLength); + int32_t Rcv = recvfrom(UDPSock, Ret.data(), Ret.size() - 1, 0, (sockaddr*)&FromServer, &clientLength); if (Rcv == SOCKET_ERROR) return; + Ret[Rcv] = 0; UDPParser(std::string_view(Ret.data(), Rcv)); } void UDPClientMain(const std::string& IP, int Port) {