void DeviceNetworkInformation_NetworkAvailabilityChanged(object sender, NetworkNotificationEventArgs e) { switch (e.NotificationType) { case NetworkNotificationType.InterfaceConnected: LogMessage("Network", SocketServer.MessageImportance.Medium, "Network was Connected at {0}\r\n", DateTime.Now); if ((XMPPClient != null) && (XMPPClient.XMPPState == XMPPState.Unknown) && (XMPPClient.XMPPAccount != null) && (XMPPClient.XMPPAccount.HaveSuccessfullyConnectedAndAuthenticated == true)) { XMPPClient.Connect(this); } break; case NetworkNotificationType.InterfaceDisconnected: LogMessage("Network", SocketServer.MessageImportance.Medium, "Network was Disconnected at {0}\r\n", DateTime.Now); if ((XMPPClient != null) && (XMPPClient.XMPPState != XMPPState.Unknown)) { XMPPClient.Disconnect(); XMPPClient.Connect(this); //MessageBox.Show("Network connection lost"); } break; case NetworkNotificationType.CharacteristicUpdate: break; default: break; } }