From 60c38ccd1afd36803bf3ec424626dbe6bc340360 Mon Sep 17 00:00:00 2001 From: Anonymous275 Date: Sat, 18 Apr 2020 04:48:42 +0300 Subject: [PATCH] Minor Adjustments --- src/Network/ClientHandler.cpp | 15 +++++++++------ src/Network/DataParser.cpp | 16 ++++++---------- src/Network/Server.cpp | 4 ++-- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/Network/ClientHandler.cpp b/src/Network/ClientHandler.cpp index a03f9e8..7ee38d6 100644 --- a/src/Network/ClientHandler.cpp +++ b/src/Network/ClientHandler.cpp @@ -9,23 +9,26 @@ #include "../logger.h" #include "../Settings.hpp" +int FindID(ENetHost *server,ENetPeer*peer); void Respond(const std::string& MSG, ENetPeer*peer){ enet_peer_send(peer, 0, enet_packet_create(MSG.c_str(), MSG.length() + 1, ENET_PACKET_FLAG_RELIABLE)); } -void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data, bool All){ +void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data, bool All, bool Reliable){ std::cout << "Sending to all with the self switch : " << All << std::endl; for (int i = 0; i < server->connectedPeers; i++) { if (All || &server->peers[i] != peer) { - enet_peer_send(&server->peers[i], 0, enet_packet_create(Data.c_str(),Data.length()+1, ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT)); + //reliable is 1 unreliable is 8 + enet_peer_send(&server->peers[i], 0, enet_packet_create(Data.c_str(),Data.length()+1,Reliable?1:8)); enet_host_flush(server); } } } -void OnConnect(ENetPeer*peer){ +void OnConnect(ENetHost *server,ENetPeer*peer){ enet_peer_send(peer, 0, enet_packet_create ("NR", 3, ENET_PACKET_FLAG_RELIABLE)); - //std::string ID = "P" + std::to_string(peer->serverVehicleID); /////HOLDUP - //enet_peer_send(peer, 0, enet_packet_create (ID.c_str(), ID.length()+1, ENET_PACKET_FLAG_RELIABLE)); - //if(Debug)debug("ID : " + std::to_string(peer->serverVehicleID)); + peer->serverVehicleID[0] = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE? + std::string ID = "P" + std::to_string(peer->serverVehicleID[0]); + enet_peer_send(peer, 0, enet_packet_create (ID.c_str(), ID.length()+1, ENET_PACKET_FLAG_RELIABLE)); + if(Debug)debug("ID : " + std::to_string(peer->serverVehicleID[0])); } diff --git a/src/Network/DataParser.cpp b/src/Network/DataParser.cpp index b04c9b5..cf7dc86 100644 --- a/src/Network/DataParser.cpp +++ b/src/Network/DataParser.cpp @@ -9,30 +9,26 @@ #include "../logger.h" #include "../Settings.hpp" -std::vector Split(const std::string& String,const std::string& delimiter); -void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data,bool All); +void SendToAll(ENetHost *server, ENetPeer*peer, const std::string& Data,bool All, bool Reliable); void Respond(const std::string& MSG, ENetPeer*peer); -int FindID(ENetHost *server,ENetPeer*peer); void VehicleParser(std::string Packet,ENetPeer*peer,ENetHost*server){ char Code = Packet.at(1); std::string Data = Packet.substr(3); - //std::vector vector = Split(Packet,":"); switch(Code){ //Spawned Destroyed Switched/Moved Reset case 's': if(Data.at(0) == '0'){ - peer->serverVehicleID[0] = FindID(server,peer); ///TODO: WHAT IF IT IS THE SECOND VEHICLE?! - Packet = "Os:"+std::to_string(peer->serverVehicleID[0])+Packet.substr(4); + Packet = "Os:"+ peer->Name +":"+std::to_string(peer->serverVehicleID[0])+Packet.substr(4); } - SendToAll(server,peer,Packet,true); + SendToAll(server,peer,Packet,true,true); break; case 'd': - SendToAll(server,peer,Packet,true); + SendToAll(server,peer,Packet,true,true); break; case 'm': break; case 'r': - SendToAll(server,peer,Packet,true); + SendToAll(server,peer,Packet,true,true); break; } } @@ -56,6 +52,6 @@ void ParseData(ENetPacket*packet, ENetPeer*peer, ENetHost*server){ } //V to Z std::cout << "Received data from: " << peer->Name << " Size: " << Packet.length() << std::endl; - if(Code <= 90 && Code >= 86)SendToAll(server,peer,Packet,false); + if(Code <= 90 && Code >= 86)SendToAll(server,peer,Packet,false,false); if(Debug)debug("Data : " + Packet); } diff --git a/src/Network/Server.cpp b/src/Network/Server.cpp index 2546055..f757db2 100644 --- a/src/Network/Server.cpp +++ b/src/Network/Server.cpp @@ -10,7 +10,7 @@ #include "../Settings.hpp" void ParseData(ENetPacket*packet,ENetPeer*peer,ENetHost *server); //Data Parser -void OnConnect(ENetPeer*peer); +void OnConnect(ENetHost *server,ENetPeer*peer); ENetPacket* packet; int PlayerCount = 0; @@ -47,7 +47,7 @@ void host_server(ENetHost *server) { event.peer->Name = "Client information"; /*event.peer->gameVehicleID[0] = 0; event.peer->serverVehicleID[0] = FindID(server, event.peer);*/ - OnConnect(event.peer); + OnConnect(server,event.peer); break; case ENET_EVENT_TYPE_RECEIVE: