From fa2e556ab2d2865ea29c7ef1a4735f845bdbc83c Mon Sep 17 00:00:00 2001 From: Jocke Date: Thu, 11 Feb 2016 14:07:51 +0100 Subject: [PATCH] fixed some error handling in TCPClient. --- src/Engine/Network/Server.cpp | 2 +- src/Engine/Network/TCPClient.cpp | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/Engine/Network/Server.cpp b/src/Engine/Network/Server.cpp index 8a0ecd36..cc774c2f 100644 --- a/src/Engine/Network/Server.cpp +++ b/src/Engine/Network/Server.cpp @@ -272,7 +272,7 @@ void Server::parseTCPConnect(Packet & packet) m_ConnectedPlayers.at(playerID).TCPPort = m_Port; LOG_INFO("parseTCPConnect: Spectator \"%s\" connected on IP: %s", m_ConnectedPlayers.at(playerID).Name.c_str(), - m_ConnectedPlayers.at(playerID).TCPAddress); + m_ConnectedPlayers.at(playerID).TCPAddress.to_string().c_str()); // Send a message to the player that connected Packet connnectPacket(MessageType::Connect, m_ConnectedPlayers.at(playerID).PacketID); diff --git a/src/Engine/Network/TCPClient.cpp b/src/Engine/Network/TCPClient.cpp index 38bac621..df4f3826 100644 --- a/src/Engine/Network/TCPClient.cpp +++ b/src/Engine/Network/TCPClient.cpp @@ -19,17 +19,6 @@ void TCPClient::Connect(std::string playerName, std::string address, int port) Send(packet); LOG_INFO("Connect message sent again!"); } - else { - boost::system::error_code error = boost::asio::error::host_not_found; - m_Socket->connect(m_Endpoint, error); - if (!error) { - m_IsConnected = true; - Packet packet(MessageType::Connect, m_SendPacketID); - packet.WriteString(playerName); - Send(packet); - LOG_INFO("Connect message sent!"); - } - } } else if (!m_IsConnected) { boost::system::error_code error = boost::asio::error::host_not_found; @@ -46,6 +35,11 @@ void TCPClient::Connect(std::string playerName, std::string address, int port) Send(packet); LOG_INFO("Connect message sent!"); } + // If error + else { + m_Socket->close(); + m_Socket = nullptr; + } } }