From f1959eacadc2a7acccc57a4d8db1e633abf60caf Mon Sep 17 00:00:00 2001 From: Max Edwards Date: Thu, 4 Apr 2024 19:24:30 -0600 Subject: [PATCH] Adds shutdown method --- src/Client/Menu/GamePlayView.cs | 2 +- src/Client/MessageQueueClient.cs | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Client/Menu/GamePlayView.cs b/src/Client/Menu/GamePlayView.cs index d1c137c..8e1b1d8 100644 --- a/src/Client/Menu/GamePlayView.cs +++ b/src/Client/Menu/GamePlayView.cs @@ -113,7 +113,7 @@ private MenuStateEnum handleSwitchToMainMenu() try { MessageQueueClient.instance.sendMessage(new Shared.Messages.Disconnect()); - MessageQueueClient.instance.shutdown(); + MessageQueueClient.shutdown(); } catch (SocketException e) { diff --git a/src/Client/MessageQueueClient.cs b/src/Client/MessageQueueClient.cs index c130bdd..6bbebee 100644 --- a/src/Client/MessageQueueClient.cs +++ b/src/Client/MessageQueueClient.cs @@ -75,13 +75,18 @@ public bool initialize(string address, ushort port) /// /// Gracefully shutdown the network connection and related activities /// - public void shutdown() + + public static void shutdown() { - m_keepRunning = false; - m_eventSendMessages.Set(); - m_socketServer.Shutdown(SocketShutdown.Both); - m_socketServer.Disconnect(false); - m_socketServer.Close(); + if (m_instance != null) + { + m_instance.m_keepRunning = false; + m_instance.m_eventSendMessages.Set(); + m_instance.m_socketServer.Shutdown(SocketShutdown.Both); + m_instance.m_socketServer.Disconnect(false); + m_instance.m_socketServer.Close(); + m_instance = null; + } } ///