diff --git a/FFXIVClassic Lobby Server/ClientConnection.cs b/FFXIVClassic Lobby Server/ClientConnection.cs index 1a24974a..76e77fd9 100644 --- a/FFXIVClassic Lobby Server/ClientConnection.cs +++ b/FFXIVClassic Lobby Server/ClientConnection.cs @@ -76,6 +76,7 @@ namespace FFXIVClassic_Lobby_Server public void disconnect() { + socket.Shutdown(SocketShutdown.Both); socket.Disconnect(false); } } diff --git a/FFXIVClassic Lobby Server/Server.cs b/FFXIVClassic Lobby Server/Server.cs index 3f81fbbc..47bfd73d 100644 --- a/FFXIVClassic Lobby Server/Server.cs +++ b/FFXIVClassic Lobby Server/Server.cs @@ -51,9 +51,9 @@ namespace FFXIVClassic_Lobby_Server #region Socket Handling public bool startServer() { - cleanupThread = new Thread(new ThreadStart(socketCleanup)); - cleanupThread.Name = "LobbyThread:Cleanup"; - cleanupThread.Start(); + //cleanupThread = new Thread(new ThreadStart(socketCleanup)); + //cleanupThread.Name = "LobbyThread:Cleanup"; + //cleanupThread.Start(); IPEndPoint serverEndPoint = new System.Net.IPEndPoint(IPAddress.Parse(ConfigConstants.OPTIONS_BINDIP), FFXIV_LOBBY_PORT); @@ -147,7 +147,7 @@ namespace FFXIVClassic_Lobby_Server bytesRead += conn.lastPartialSize; - if (bytesRead >= 0) + if (bytesRead > 0) { int offset = 0; @@ -187,6 +187,7 @@ namespace FFXIVClassic_Lobby_Server lock (mConnectionList) { + conn.disconnect(); mConnectionList.Remove(conn); } }