WIP Packet loss identification. Put packetID in message

This commit is contained in:
stiffly
2015-12-09 17:43:36 +01:00
parent 0807a7d0ae
commit 4de613814b
7 changed files with 51 additions and 7 deletions
+12
View File
@@ -162,10 +162,15 @@ int Server::CreateMessage(MessageType type, std::string message, char * data)
// Message type
memcpy(data + offset, &type, sizeof(int));
offset += sizeof(int);
// Packet ID
m_PacketID = m_PacketCounter % 10;
memcpy(data + offset, &m_PacketID, sizeof(int));
offset += sizeof(int);
// Message, add one extra byte for null terminator
memcpy(data + offset, message.data(), (lengthOfMessage + 1) * sizeof(char));
offset += (lengthOfMessage + 1) * sizeof(char);
m_PacketCounter++;
return offset;
}
@@ -273,6 +278,9 @@ int Server::CreateHeader(MessageType type, char * data)
int offset = 0;
memcpy(data, &messageType, sizeof(int));
offset += sizeof(int);
m_PacketID = m_PacketCounter % 10;
memcpy(data + offset, &m_PacketID, sizeof(int));
offset += sizeof(int);
return offset;
}
@@ -361,6 +369,10 @@ void Server::ParseConnect(char * data, size_t length)
offset += sizeof(int);
memcpy(temp + offset, &i, sizeof(int));
memcpy(temp, &m_PacketID, sizeof(int));
offset += sizeof(int);
m_PacketCounter++;
m_Socket.send_to(
boost::asio::buffer(temp, sizeof(int) * 2),
m_PlayerDefinitions[i].Endpoint,