From 534b457f48a80b0913225960b7d7e0445a69f8d2 Mon Sep 17 00:00:00 2001 From: Anonymous-275 Date: Wed, 31 Mar 2021 20:15:42 +0300 Subject: [PATCH] Possible ghost connection ellimination --- src/TNetwork.cpp | 3 +-- src/TServer.cpp | 8 ++------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/TNetwork.cpp b/src/TNetwork.cpp index eae8f73..0a067e0 100644 --- a/src/TNetwork.cpp +++ b/src/TNetwork.cpp @@ -93,7 +93,6 @@ void TNetwork::UDPServerMain() { } if (Client->GetID() == ID) { - Client->UpdatePingTime(); Client->SetUDPAddr(client); Client->SetIsConnected(true); TServer::GlobalParser(ClientPtr, Data.substr(2), mPPSMonitor, *this); @@ -356,7 +355,6 @@ std::shared_ptr TNetwork::CreateClient(SOCKET TCPSock) { bool TNetwork::TCPSend(TClient& c, const std::string& Data, bool IsSync) { if (!IsSync) { if (c.IsSyncing()) { - //std::unique_lock Lock(c.MissedPacketQueueMutex()); if (!Data.empty()) { if (Data.at(0) == 'O' || Data.at(0) == 'A' || Data.at(0) == 'C' || Data.at(0) == 'E') { c.EnqueuePacket(Data); @@ -393,6 +391,7 @@ bool TNetwork::TCPSend(TClient& c, const std::string& Data, bool IsSync) { } Sent += Temp; } while (Sent < Size); + c.UpdatePingTime(); return true; } diff --git a/src/TServer.cpp b/src/TServer.cpp index aacbefe..857317b 100644 --- a/src/TServer.cpp +++ b/src/TServer.cpp @@ -108,7 +108,6 @@ void TServer::GlobalParser(const std::weak_ptr& Client, std::string Pac } else { Network.UpdatePlayer(*LockedClient); } - LockedClient->UpdatePingTime(); return; case 'O': if (Packet.length() > 1000) { @@ -314,11 +313,8 @@ void TServer::ParseVehicle(TClient& c, const std::string& Pckt, TNetwork& Networ void TServer::Apply(TClient& c, int VID, const std::string& pckt) { std::string Packet = pckt.substr(pckt.find('{')), VD = c.GetCarData(VID); std::string Header = VD.substr(0, VD.find('{')); - if(VD.empty()){ - error("Applying config for a non existing car?"); - abort(); - } - VD = VD.substr(VD.find('{')); //TODO somehow this got hit while VD is empty + + VD = VD.substr(VD.find('{')); rapidjson::Document Veh, Pack; Veh.Parse(VD.c_str()); if (Veh.HasParseError()) {