From 5f959ded895ee3f38ec66968fb2448a1878be45c Mon Sep 17 00:00:00 2001 From: Jocke Date: Fri, 11 Mar 2016 12:54:59 +0100 Subject: [PATCH] Did changes upon pull request's request. --- include/Engine/Network/Client.h | 3 +-- include/Engine/Network/Network.h | 1 + include/Engine/Network/Server.h | 1 - include/Engine/Network/UDPClient.h | 3 ++- src/Engine/Network/Client.cpp | 9 --------- src/Engine/Network/Network.cpp | 9 +++++++++ src/Engine/Network/Packet.cpp | 2 +- src/Engine/Network/Server.cpp | 16 ---------------- src/Engine/Network/UDPClient.cpp | 2 +- 9 files changed, 15 insertions(+), 31 deletions(-) diff --git a/include/Engine/Network/Client.h b/include/Engine/Network/Client.h index d9dcfad2..ebf46361 100644 --- a/include/Engine/Network/Client.h +++ b/include/Engine/Network/Client.h @@ -81,7 +81,7 @@ private: std::vector m_InputCommandBuffer; // Private member functions - size_t receive(char* data); + size_t receive(char* data); void disconnect(); void parseMessageType(Packet& packet); void updateFields(Packet& packet, const ComponentInfo& componentInfo, const EntityID& entityID); @@ -109,7 +109,6 @@ private: void sendLocalPlayerTransform(); void becomePlayer(); void displayServerlist(); - void popNetworkSegmentOfHeader(Packet& packet); void removeWorld(); void createMainMenu(); // Mapping Logic diff --git a/include/Engine/Network/Network.h b/include/Engine/Network/Network.h index b4de053e..69395a85 100644 --- a/include/Engine/Network/Network.h +++ b/include/Engine/Network/Network.h @@ -39,6 +39,7 @@ protected: void logReceivedData(int bytesReceived); void saveToFile(); void updateNetworkData(); + void popNetworkSegmentOfHeader(Packet& packet); }; #endif \ No newline at end of file diff --git a/include/Engine/Network/Server.h b/include/Engine/Network/Server.h index 421d151c..6acb7081 100644 --- a/include/Engine/Network/Server.h +++ b/include/Engine/Network/Server.h @@ -83,7 +83,6 @@ private: void kick(PlayerID player); PlayerID getPlayerIDFromEndpoint(); PlayerID getPlayerIDFromEntityID(EntityID entityID); - void popNetworkSegmentOfHeader(Packet & packet); void parsePlayerTransform(Packet& packet); void parseOnInputCommand(Packet& packet); void parseClientPing(); diff --git a/include/Engine/Network/UDPClient.h b/include/Engine/Network/UDPClient.h index 6264566d..386cc5c0 100644 --- a/include/Engine/Network/UDPClient.h +++ b/include/Engine/Network/UDPClient.h @@ -8,7 +8,6 @@ class UDPClient : public NetworkClient { - // TODO: add packets to map. public: UDPClient(); ~UDPClient(); @@ -34,6 +33,8 @@ private: //map:(packetGroup, vector:(pair:(groupIndex, packetData))) std::map>>> m_PacketSegmentMap; bool hasReceivedPacket(int packetGroup, int groupIndex); + // 2^19 + const int m_SizeOfSocketBuffer = 524288; }; #endif \ No newline at end of file diff --git a/src/Engine/Network/Client.cpp b/src/Engine/Network/Client.cpp index ffe34d97..695329b4 100644 --- a/src/Engine/Network/Client.cpp +++ b/src/Engine/Network/Client.cpp @@ -706,15 +706,6 @@ void Client::displayServerlist() } } -void Client::popNetworkSegmentOfHeader(Packet & packet) -{ - // Pop packetSize, group, groupIndex and groupSize. - packet.ReadPrimitive(); - packet.ReadPrimitive(); - packet.ReadPrimitive(); - packet.ReadPrimitive(); -} - void Client::removeWorld() { std::vector childrenToBeDeleted; diff --git a/src/Engine/Network/Network.cpp b/src/Engine/Network/Network.cpp index 6ce9ef82..6ac5cf69 100644 --- a/src/Engine/Network/Network.cpp +++ b/src/Engine/Network/Network.cpp @@ -83,3 +83,12 @@ void Network::updateNetworkData() m_NetworkData.DataReceivedThisInterval = 0; } } + +void Network::popNetworkSegmentOfHeader(Packet & packet) +{ + // Pop packetSize, group, groupIndex and groupSize. + packet.ReadPrimitive(); + packet.ReadPrimitive(); + packet.ReadPrimitive(); + packet.ReadPrimitive(); +} diff --git a/src/Engine/Network/Packet.cpp b/src/Engine/Network/Packet.cpp index 347b6e8b..3e0d819b 100644 --- a/src/Engine/Network/Packet.cpp +++ b/src/Engine/Network/Packet.cpp @@ -44,7 +44,7 @@ void Packet::Init(MessageType type, unsigned int & packetID, // allocate memory for size of packet, sequenceNumber and totalPacketesInSequence packetSizeOffset = m_Offset; WritePrimitive(0); - // packetGroup is the gorup the packet is in + // packetGroup is the group the packet is in groupOffset = m_Offset; WritePrimitive(group); // What index the packet has in the packetGroup diff --git a/src/Engine/Network/Server.cpp b/src/Engine/Network/Server.cpp index 9cce3b68..1f94a137 100644 --- a/src/Engine/Network/Server.cpp +++ b/src/Engine/Network/Server.cpp @@ -299,8 +299,6 @@ void Server::sendPing() reliableBroadcast(packet); } - - void Server::checkForTimeOuts() { double startPing = 1000 * m_StartPingTime @@ -332,10 +330,6 @@ void Server::parseUDPConnect(Packet & packet) m_PacketID = packet.ReadPrimitive(); //Read new packet id // parse player id and other stuff PlayerID playerID = packet.ReadPrimitive(); - if (!EntityWrapper(m_World, playerID).Valid()) { - - } - // Do something here? boost::asio::ip::udp::endpoint endpoint(m_Address, m_Port); m_ConnectedPlayers.at(playerID).Endpoint = endpoint; LOG_INFO("parseUDPConnect: Spectator \"%s\" connected on IP: %s", m_ConnectedPlayers.at(playerID).Name.c_str(), m_ConnectedPlayers.at(playerID).Endpoint.address().to_string().c_str()); @@ -357,7 +351,6 @@ void Server::parseTCPConnect(Packet & packet) LOG_INFO("Parsing connections"); // Check if player is already connected - // Ska vara till lagd i TCPServer receive PlayerID playerID = getPlayerIDFromEndpoint(); if (playerID == -1) { LOG_INFO("Server::parseTCPConnect: Not connected"); @@ -670,13 +663,4 @@ PlayerID Server::getPlayerIDFromEntityID(EntityID entityID) } } return -1; -} - -void Server::popNetworkSegmentOfHeader(Packet & packet) -{ - // Pop packetSize, group, groupIndex and groupSize. - packet.ReadPrimitive(); - packet.ReadPrimitive(); - packet.ReadPrimitive(); - packet.ReadPrimitive(); } \ No newline at end of file diff --git a/src/Engine/Network/UDPClient.cpp b/src/Engine/Network/UDPClient.cpp index a10004a1..306bcb3f 100644 --- a/src/Engine/Network/UDPClient.cpp +++ b/src/Engine/Network/UDPClient.cpp @@ -17,7 +17,7 @@ bool UDPClient::Connect(std::string playerName, std::string address, int port) m_ReceiverEndpoint = udp::endpoint(boost::asio::ip::address().from_string(address), port); m_Socket = boost::shared_ptr(new boost::asio::ip::udp::socket(m_IOService)); m_Socket->open(boost::asio::ip::udp::v4()); - boost::asio::socket_base::receive_buffer_size option(819200); + boost::asio::socket_base::receive_buffer_size option(m_SizeOfSocketBuffer); m_Socket->set_option(option); return true; }