From e133791369e565c954b0aa690708d1838b211630 Mon Sep 17 00:00:00 2001 From: Jocke Date: Wed, 3 Feb 2016 10:28:15 +0100 Subject: [PATCH] WIP Reliable Message --- include/Engine/Network/Client.h | 2 +- include/Engine/Network/HybridClient.h | 14 ++++++++++++++ include/Engine/Network/TCPClient.h | 7 +++++++ include/Game/Game.h | 2 +- src/Engine/Network/HybridClient.cpp | 12 ++++++++++++ src/Engine/Network/Server.cpp | 2 +- src/Engine/Network/TCPClient.cpp | 0 src/Game/Game.cpp | 2 +- src/Tests/CollisionTest.cpp | 2 +- src/Tests/HealthSystemTest.cpp | 4 ++-- 10 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 include/Engine/Network/HybridClient.h create mode 100644 include/Engine/Network/TCPClient.h create mode 100644 src/Engine/Network/HybridClient.cpp create mode 100644 src/Engine/Network/TCPClient.cpp diff --git a/include/Engine/Network/Client.h b/include/Engine/Network/Client.h index 4f1baa67..4397dd41 100644 --- a/include/Engine/Network/Client.h +++ b/include/Engine/Network/Client.h @@ -29,7 +29,7 @@ public: ~Client(); void Start(World* world, EventBroker* eventBroker) override; void Update() override; -private: +protected: // Assio UDP logic boost::asio::ip::udp::endpoint m_ReceiverEndpoint; boost::asio::io_service m_IOService; diff --git a/include/Engine/Network/HybridClient.h b/include/Engine/Network/HybridClient.h new file mode 100644 index 00000000..7573ad87 --- /dev/null +++ b/include/Engine/Network/HybridClient.h @@ -0,0 +1,14 @@ +#ifndef HybridClient_h__ +#define HybridClient_h__ + +#include "Client.h" + + +class HybridClient : public Client +{ +public: + HybridClient(ConfigFile* config); + ~HybridClient(); +}; + +#endif \ No newline at end of file diff --git a/include/Engine/Network/TCPClient.h b/include/Engine/Network/TCPClient.h new file mode 100644 index 00000000..d342641b --- /dev/null +++ b/include/Engine/Network/TCPClient.h @@ -0,0 +1,7 @@ +#ifndef TCPClient_h__ +#define TCPClient_h__ + + + + +#endif \ No newline at end of file diff --git a/include/Game/Game.h b/include/Game/Game.h index fab10a49..ccca080e 100644 --- a/include/Game/Game.h +++ b/include/Game/Game.h @@ -25,7 +25,7 @@ #include #include "Network/Network.h" #include "Network/Server.h" -#include "Network/Client.h" +#include "Network/HybridClient.h" // Sound #include "Sound/SoundSystem.h" diff --git a/src/Engine/Network/HybridClient.cpp b/src/Engine/Network/HybridClient.cpp new file mode 100644 index 00000000..798ff578 --- /dev/null +++ b/src/Engine/Network/HybridClient.cpp @@ -0,0 +1,12 @@ +#include "Network/HybridClient.h" + + +HybridClient::HybridClient(ConfigFile * config) : Client(config) +{ + +} + +HybridClient::~HybridClient() +{ + +} diff --git a/src/Engine/Network/Server.cpp b/src/Engine/Network/Server.cpp index 30676d80..a94acd39 100644 --- a/src/Engine/Network/Server.cpp +++ b/src/Engine/Network/Server.cpp @@ -271,7 +271,7 @@ void Server::parseOnInputCommand(Packet& packet) e.PlayerID = player; // Set correct player id e.Value = packet.ReadPrimitive(); m_EventBroker->Publish(e); - //LOG_INFO("Server::parseOnInputCommand: Command is %s. Value is %f. PlayerID is %i.", e.Command.c_str(), e.Value, e.PlayerID); + LOG_INFO("Server::parseOnInputCommand: Command is %s. Value is %f. PlayerID is %i.", e.Command.c_str(), e.Value, e.PlayerID); } } } diff --git a/src/Engine/Network/TCPClient.cpp b/src/Engine/Network/TCPClient.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/Game/Game.cpp b/src/Game/Game.cpp index ef51aca6..7ce66710 100644 --- a/src/Game/Game.cpp +++ b/src/Game/Game.cpp @@ -169,7 +169,7 @@ void Game::networkFunction() bool isServer = m_Config->Get("Networking.IsServer", false); if (!isServer) { m_IsClientOrServer = true; - m_ClientOrServer = new Client(m_Config); + m_ClientOrServer = new HybridClient(m_Config); } if (isServer) { m_IsClientOrServer = true; diff --git a/src/Tests/CollisionTest.cpp b/src/Tests/CollisionTest.cpp index 67b6ce19..6cb6c88b 100644 --- a/src/Tests/CollisionTest.cpp +++ b/src/Tests/CollisionTest.cpp @@ -29,7 +29,7 @@ void RayTest(std::string fileName) { Ray ray(glm::vec3(-50, 0, 0), glm::vec3(1, 0, 0)); //using a - here, else we have to init the renderingsystem + //here, else we have to init the renderingsystem ResourceManager::RegisterType("RawModel"); auto unitBox = ResourceManager::Load(fileName); BOOST_REQUIRE(unitBox != nullptr); diff --git a/src/Tests/HealthSystemTest.cpp b/src/Tests/HealthSystemTest.cpp index bdd9ba4b..6540c0e3 100644 --- a/src/Tests/HealthSystemTest.cpp +++ b/src/Tests/HealthSystemTest.cpp @@ -69,8 +69,8 @@ GameHealthSystemTest::GameHealthSystemTest() m_EventBroker->Publish(e3); //damage player with 50 Events::PlayerDamage e; - e.DamageAmount = 50.0f; - e.PlayerDamagedID = healthsID; + // e.DamageAmount = 50.0f; +// e.PlayerDamagedID = healthsID; m_EventBroker->Publish(e); //heal some other player with 40 Events::PlayerHealthPickup e2;