From 229723b50fb7464d62d8a3e0787e72a6f13befe8 Mon Sep 17 00:00:00 2001 From: Joshua Gutenplan Date: Mon, 10 Jun 2019 02:07:00 -0700 Subject: [PATCH] Moved on ready to call on connect callback if shared key not required and connected. Moved text received event to else to get called on first message if shared key is off --- .../Comm/GenericTcpIpClient_ForServer.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient_ForServer.cs b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient_ForServer.cs index 491fe14..ec59259 100644 --- a/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient_ForServer.cs +++ b/Pepperdash Core/Pepperdash Core/Comm/GenericTcpIpClient_ForServer.cs @@ -382,6 +382,15 @@ namespace PepperDash.Core //OnClientReadyForcommunications(false); // Should send false event }, 15000); } + else + { + //CLient connected and shared key is not required so just raise the ready for communication event. if Shared key + //required this is called by the shared key being negotiated + if (IsReadyForCommunication == false) + { + OnClientReadyForcommunications(true); // Key not required + } + } } else { @@ -486,7 +495,6 @@ namespace PepperDash.Core Debug.Console(2, this, "Client Received:\r--------\r{0}\r--------", str); if (!string.IsNullOrEmpty(checkHeartbeat(str))) { - if (SharedKeyRequired && str == "SharedKey:") { Debug.Console(1, this, "Server asking for shared key, sending"); @@ -495,19 +503,11 @@ namespace PepperDash.Core else if (SharedKeyRequired && str == "Shared Key Match") { StopWaitForSharedKeyTimer(); - - Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Shared key confirmed. Ready for communication"); OnClientReadyForcommunications(true); // Successful key exchange } - else if (SharedKeyRequired == false && IsReadyForCommunication == false) - { - OnClientReadyForcommunications(true); // Key not required - } - else { - //var bytesHandler = BytesReceived; //if (bytesHandler != null) // bytesHandler(this, new GenericCommMethodReceiveBytesArgs(bytes)); @@ -699,6 +699,7 @@ namespace PepperDash.Core Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Socket status change: {0} ({1})", client.ClientStatus, (ushort)(client.ClientStatus)); OnConnectionChange(); + // The client could be null or disposed by this time... if (Client == null || Client.ClientStatus != SocketStatus.SOCKET_STATUS_CONNECTED) {