From 0f30706a0af792dd8d5c21674c194cb2e0e94edf Mon Sep 17 00:00:00 2001 From: Lion Kortlepel Date: Sat, 2 Jan 2021 02:55:14 +0100 Subject: [PATCH] Improve UDPRcvFromClient --- src/Network/VehicleData.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Network/VehicleData.cpp b/src/Network/VehicleData.cpp index c5dedee..3fb30ac 100644 --- a/src/Network/VehicleData.cpp +++ b/src/Network/VehicleData.cpp @@ -73,9 +73,8 @@ void SendLarge(Client* c, std::string Data) { std::string UDPRcvFromClient(sockaddr_in& client) { size_t clientLength = sizeof(client); - ZeroMemory(&client, clientLength); - std::string Ret(10240, 0); - int64_t Rcv = recvfrom(UDPSock, &Ret[0], 10240, 0, (sockaddr*)&client, (socklen_t*)&clientLength); + std::array Ret; + int64_t Rcv = recvfrom(UDPSock, Ret.data(), Ret.size(), 0, (sockaddr*)&client, (socklen_t*)&clientLength); if (Rcv == -1) { #ifdef WIN32 error(("(UDP) Error receiving from Client! Code : ") + std::to_string(WSAGetLastError())); @@ -84,7 +83,7 @@ std::string UDPRcvFromClient(sockaddr_in& client) { #endif // WIN32 return ""; } - return Ret.substr(0, Rcv); + return std::string(Ret.begin(), Ret.begin() + Rcv); } void UDPParser(Client* c, std::string Packet) {