removed debug info.

This commit is contained in:
Jocke
2016-03-11 11:01:10 +01:00
parent a8a4b5d2a2
commit 33627f917c
7 changed files with 28 additions and 44 deletions
+1 -1
View File
@@ -140,7 +140,7 @@ private:
std::vector<ServerInfo> m_Serverlist; std::vector<ServerInfo> m_Serverlist;
bool m_SearchingForServers = false; bool m_SearchingForServers = false;
std::clock_t m_StartSearchTime; std::clock_t m_StartSearchTime;
double m_SearchingTime = 2000; // Config I guess double m_SearchingTime = 200; // Config I guess
}; };
#endif #endif
+1 -1
View File
@@ -27,7 +27,7 @@ private:
boost::asio::io_service m_IOService; boost::asio::io_service m_IOService;
boost::asio::ip::udp::endpoint m_ReceiverEndpoint; boost::asio::ip::udp::endpoint m_ReceiverEndpoint;
boost::shared_ptr<boost::asio::ip::udp::socket> m_Socket; boost::shared_ptr<boost::asio::ip::udp::socket> m_Socket;
int lastReceivedSnapshotGroup = 0; int m_LastReceivedSnapshotGroup = 0;
int readBuffer(); int readBuffer();
void readPartOfPacket(); void readPartOfPacket();
PacketID m_SendPacketID = 0; PacketID m_SendPacketID = 0;
-1
View File
@@ -381,7 +381,6 @@ void Client::ignoreFields(Packet& packet, const ComponentInfo& componentInfo)
void Client::parseSnapshot(Packet& packet) void Client::parseSnapshot(Packet& packet)
{ {
LOG_INFO("Snapshot received");
// Read input commands // Read input commands
std::size_t numInputCommands = packet.ReadPrimitive<std::size_t>(); std::size_t numInputCommands = packet.ReadPrimitive<std::size_t>();
for (std::size_t i = 0; i < numInputCommands; ++i) { for (std::size_t i = 0; i < numInputCommands; ++i) {
+4 -3
View File
@@ -164,7 +164,7 @@ void Server::reliableBroadcast(Packet& packet)
void Server::unreliableBroadcast(Packet& packet) void Server::unreliableBroadcast(Packet& packet)
{ {
m_Unreliable.SendToConnectedPlayers(packet, m_ConnectedPlayers); m_Unreliable.SendToConnectedPlayers(packet, m_ConnectedPlayers);
} }
// Send snapshot fields // Send snapshot fields
@@ -317,7 +317,7 @@ void Server::checkForTimeOuts()
} }
} }
} }
for (size_t i = 0; i < playersToRemove.size(); i++) { for (int i = playersToRemove.size() - 1; i >= 0; i--) {
disconnect(playersToRemove.at(i)); disconnect(playersToRemove.at(i));
} }
} }
@@ -360,6 +360,7 @@ void Server::parseTCPConnect(Packet & packet)
// Ska vara till lagd i TCPServer receive // Ska vara till lagd i TCPServer receive
PlayerID playerID = getPlayerIDFromEndpoint(); PlayerID playerID = getPlayerIDFromEndpoint();
if (playerID == -1) { if (playerID == -1) {
LOG_INFO("Server::parseTCPConnect: Not connected");
return; return;
} }
// Create a new player // Create a new player
@@ -382,7 +383,7 @@ void Server::parseTCPConnect(Packet & packet)
Packet connnectPacket(MessageType::Connect, m_ConnectedPlayers.at(playerID).PacketID); Packet connnectPacket(MessageType::Connect, m_ConnectedPlayers.at(playerID).PacketID);
// Write playerID to packet // Write playerID to packet
connnectPacket.WritePrimitive(playerID); connnectPacket.WritePrimitive(playerID);
m_Reliable.Send(connnectPacket); m_Reliable.Send(connnectPacket, m_ConnectedPlayers.at(playerID));
Packet firstSnapshot(MessageType::Snapshot); Packet firstSnapshot(MessageType::Snapshot);
addInputCommandsToPacket(firstSnapshot); addInputCommandsToPacket(firstSnapshot);
+7 -24
View File
@@ -3,25 +3,14 @@
using namespace boost::asio::ip; using namespace boost::asio::ip;
TCPClient::TCPClient() TCPClient::TCPClient()
{ { }
}
TCPClient::~TCPClient() TCPClient::~TCPClient()
{ { }
}
bool TCPClient::Connect(std::string playerName, std::string address, int port) bool TCPClient::Connect(std::string playerName, std::string address, int port)
{ {
if (m_Socket) { if (!m_Socket) {
if (m_IsConnected) {
Packet packet(MessageType::Connect, m_SendPacketID);
packet.WriteString(playerName);
Send(packet);
LOG_INFO("Connect message sent again!");
}
return true;
}
else if (!m_IsConnected) {
boost::system::error_code error = boost::asio::error::host_not_found; boost::system::error_code error = boost::asio::error::host_not_found;
m_Endpoint = tcp::endpoint(boost::asio::ip::address::from_string(address), port); m_Endpoint = tcp::endpoint(boost::asio::ip::address::from_string(address), port);
m_Socket = std::unique_ptr<tcp::socket>(new tcp::socket(m_IOService)); m_Socket = std::unique_ptr<tcp::socket>(new tcp::socket(m_IOService));
@@ -36,9 +25,7 @@ bool TCPClient::Connect(std::string playerName, std::string address, int port)
Send(packet); Send(packet);
LOG_INFO("Connect message sent!"); LOG_INFO("Connect message sent!");
return true; return true;
} } else { // If error
// If error
else {
m_Socket->close(); m_Socket->close();
m_Socket = nullptr; m_Socket = nullptr;
return false; return false;
@@ -47,14 +34,10 @@ bool TCPClient::Connect(std::string playerName, std::string address, int port)
} }
void TCPClient::Disconnect() void TCPClient::Disconnect()
{ {
if (!m_IsConnected) {
return;
}
m_Socket->shutdown(boost::asio::ip::tcp::socket::shutdown_both); m_Socket->shutdown(boost::asio::ip::tcp::socket::shutdown_both);
m_Socket->close(); m_Socket->close();
m_Socket = nullptr; m_Socket = nullptr;
m_IsConnected = false;
} }
void TCPClient::Receive(Packet& packet) void TCPClient::Receive(Packet& packet)
@@ -66,7 +49,7 @@ void TCPClient::Receive(Packet& packet)
} }
size_t TCPClient::readBuffer() size_t TCPClient::readBuffer()
{ {
if (!m_Socket) { if (!m_Socket) {
return 0; return 0;
} }
@@ -92,7 +75,7 @@ size_t TCPClient::readBuffer()
while (sizeOfPacket > bytesReceived) { while (sizeOfPacket > bytesReceived) {
// Read the rest of the message // Read the rest of the message
bytesReceived += m_Socket->read_some(boost bytesReceived += m_Socket->read_some(boost
::asio::buffer((void*)(m_ReadBuffer), sizeOfPacket - bytesReceived), ::asio::buffer((void*)(m_ReadBuffer + bytesReceived), sizeOfPacket - bytesReceived),
error); error);
if (error) { if (error) {
//LOG_ERROR("receive: %s", error.message().c_str()); //LOG_ERROR("receive: %s", error.message().c_str());
+5 -6
View File
@@ -28,7 +28,7 @@ void UDPClient::Disconnect()
m_Socket->close(); m_Socket->close();
m_Socket = nullptr; m_Socket = nullptr;
int lastReceivedSnapshotGroup = 0; m_LastReceivedSnapshotGroup = 0;
m_PacketSegmentMap.clear(); m_PacketSegmentMap.clear();
PacketID m_SendPacketID = 0; PacketID m_SendPacketID = 0;
} }
@@ -106,7 +106,7 @@ void UDPClient::readPartOfPacket()
memcpy(&packetGroupIndex, m_ReadBuffer + 2 * sizeof(int), sizeof(int)); memcpy(&packetGroupIndex, m_ReadBuffer + 2 * sizeof(int), sizeof(int));
int packetGroupSize = 0; int packetGroupSize = 0;
memcpy(&packetGroupSize, m_ReadBuffer + 3 * sizeof(int), sizeof(int)); memcpy(&packetGroupSize, m_ReadBuffer + 3 * sizeof(int), sizeof(int));
LOG_INFO("Packet group: %i. Group index: %i. Group size: %i. Packet size: %i.", packetGroup, packetGroupIndex, packetGroupSize, sizeOfPacket); //LOG_INFO("Packet group: %i. Group index: %i. Group size: %i. Packet size: %i.", packetGroup, packetGroupIndex, packetGroupSize, sizeOfPacket);
if (sizeOfPacket > m_Socket->available()) { if (sizeOfPacket > m_Socket->available()) {
LOG_WARNING("UDPClient::readBuffer(): We haven't got the whole packet yet."); LOG_WARNING("UDPClient::readBuffer(): We haven't got the whole packet yet.");
// return; // return;
@@ -120,7 +120,7 @@ void UDPClient::readPartOfPacket()
sizeOfPacket), sizeOfPacket),
m_ReceiverEndpoint, 0, error); m_ReceiverEndpoint, 0, error);
if (error) { if (error) {
LOG_ERROR("receive: %s", error.message().c_str()); LOG_ERROR("UDPClient::readPartOfPacket: %s", error.message().c_str());
} }
// Might want to do this earlier when i figure out a good way to // Might want to do this earlier when i figure out a good way to
// remove data from network buffer. // remove data from network buffer.
@@ -198,7 +198,7 @@ bool UDPClient::GetNextPacket(Packet & packet)
LOG_INFO("The map is increasing in size, size is %i", mapSize); LOG_INFO("The map is increasing in size, size is %i", mapSize);
continue; continue;
} }
if (headerInfoPacket.GetMessageType() == MessageType::Snapshot && lastReceivedSnapshotGroup > headerInfoPacket.Group()) { if (headerInfoPacket.GetMessageType() == MessageType::Snapshot && m_LastReceivedSnapshotGroup > headerInfoPacket.Group()) {
it = m_PacketSegmentMap.erase(it); it = m_PacketSegmentMap.erase(it);
continue; continue;
//LOG_INFO("Deleted old entry"); //LOG_INFO("Deleted old entry");
@@ -214,10 +214,9 @@ bool UDPClient::GetNextPacket(Packet & packet)
packet.WriteData(currentVector.at(i).second.get() + packet.HeaderSize(), sizeOfData - packet.HeaderSize()); packet.WriteData(currentVector.at(i).second.get() + packet.HeaderSize(), sizeOfData - packet.HeaderSize());
} }
if (headerInfoPacket.GetMessageType() == MessageType::Snapshot) { if (headerInfoPacket.GetMessageType() == MessageType::Snapshot) {
lastReceivedSnapshotGroup = packet.Group(); m_LastReceivedSnapshotGroup = packet.Group();
} }
// No need to get next it as we are returning. // No need to get next it as we are returning.
LOG_INFO("Packet parsed");
m_PacketSegmentMap.erase(it); m_PacketSegmentMap.erase(it);
return true; return true;
} else { } else {
+10 -8
View File
@@ -61,6 +61,8 @@ void UDPServer::Send(Packet& packet, PlayerDefinition& playerDefinition)
void UDPServer::SendToConnectedPlayers(Packet& packet, std::map<PlayerID, PlayerDefinition>& playersTosendTo) void UDPServer::SendToConnectedPlayers(Packet& packet, std::map<PlayerID, PlayerDefinition>& playersTosendTo)
{ {
// Remove a player if hen crashes.
// Return a vector with disconnected players.
// Work in progress // Work in progress
packet.UpdateSize(); packet.UpdateSize();
@@ -95,18 +97,18 @@ void UDPServer::SendToConnectedPlayers(Packet& packet, std::map<PlayerID, Player
boost::asio::buffer(splitPacket.Data(), splitPacket.Size()), boost::asio::buffer(splitPacket.Data(), splitPacket.Size()),
kv.second.Endpoint, kv.second.Endpoint,
0); 0);
LOG_INFO("bytesSent: %i", bytesSent); // LOG_INFO("bytesSent: %i", bytesSent);
} catch (const boost::system::system_error& e) { } catch (const boost::system::system_error& e) {
LOG_INFO(e.what()); LOG_INFO("UDPServer::SendToConnectedPlayers: Disconnected client. %s", e.what());
// TODO: Clean up invalid endpoints out of m_ConnectedPlayers later // TODO: Clean up invalid endpoints out of m_ConnectedPlayers later
kv.second.Endpoint = boost::asio::ip::udp::endpoint(); kv.second.Endpoint = boost::asio::ip::udp::endpoint();
} }
} }
packetDataSent += splitPacket.Size() - splitPacket.HeaderSize(); packetDataSent += splitPacket.Size() - splitPacket.HeaderSize();
totalBytesSent += splitPacket.Size(); totalBytesSent += splitPacket.Size();
//LOG_INFO("bytesSent size %i, groupIndex: %i. Number of packets: %i", bytesSent, sequenceNumber, totalMessages); //LOG_INFO("bytesSent size %i, groupIndex: %i. Number of packets: %i", bytesSent, sequenceNumber, totalMessages);
++groupIndex; ++groupIndex;
} }
for (auto& kv : playersTosendTo) { for (auto& kv : playersTosendTo) {
kv.second.PacketGroup++; kv.second.PacketGroup++;
@@ -123,7 +125,7 @@ void UDPServer::Send(Packet & packet)
packet.Size()), packet.Size()),
m_ReceiverEndpoint, m_ReceiverEndpoint,
0); 0);
LOG_INFO("Size of packet is %i", bytesSent); //LOG_INFO("Size of packet is %i", bytesSent);
} }
// Broadcasting respond specific logic // Broadcasting respond specific logic
@@ -136,7 +138,7 @@ void UDPServer::Send(Packet & packet, boost::asio::ip::udp::endpoint endpoint)
packet.Size()), packet.Size()),
endpoint, endpoint,
0); 0);
LOG_INFO("Size of packet is %i", bytesSent); //LOG_INFO("Size of packet is %i", bytesSent);
} }
// Broadcasting // Broadcasting