diff --git a/RhinoReminds/ClientListener.cs b/RhinoReminds/ClientListener.cs index 3bdac2a..aedab14 100644 --- a/RhinoReminds/ClientListener.cs +++ b/RhinoReminds/ClientListener.cs @@ -107,14 +107,20 @@ namespace RhinoReminds private void errorHandler(object sender, S22.Xmpp.Im.ErrorEventArgs e) { - Console.Error.WriteLine($"Error {e.Reason}: {e.Exception}"); - Console.Error.WriteLine($"Reconnecting in {TimeSpan.FromSeconds(nextBackoffDelay).ToString()}."); + Console.Error.WriteLine($"[Error] {e.Reason}: {e.Exception}"); - Task.Delay(nextBackoffDelay * 1000).Wait(); - if (!connect().Result) - nextBackoffDelay = (int)Math.Ceiling(nextBackoffDelay * backoffDelayMultiplier); - else - nextBackoffDelay = defaultBackoffDelay; + if(!client.Connected) + { + Console.Error.WriteLine($"[Error/Handler] Reconnecting in {TimeSpan.FromSeconds(nextBackoffDelay).ToString()}."); + Thread.Sleep(nextBackoffDelay * 1000); + Console.WriteLine("[Error/Handler] Attempting to reconnect to the server"); + + if (!connect().Result) + nextBackoffDelay = (int)Math.Ceiling(nextBackoffDelay * backoffDelayMultiplier); + else + nextBackoffDelay = defaultBackoffDelay; + + } } private void messageHandlerRoot(object sender, MessageEventArgs eventArgs)