// Event for checking the connection to the service
 private void mListener_ConnectionStatusChanged(object sender, ConnectionStatusChangedEventArgs e)
 {
     if (e.ConnectedToServer)
     {
         MessageBox.Show("Die Verbindung zum Service funktioniert.", "AIC", MessageBoxButton.OK, MessageBoxImage.Information);
     }
     else
     {
         MessageBox.Show(this, "Es konnte keine Verbindung zum AIC-Service hergestellt werden.", "AIC", MessageBoxButton.OK, MessageBoxImage.Error);
     }
     mListener.Stop();
     mListener.ConnectionStatusChanged -= mListener_ConnectionStatusChanged;
     mListener = null;
 }
        // Checks the connection between client and server
        private void CheckServiceConnectionButton_Click(object sender, RoutedEventArgs e)
        {
            if (mListener == null)
            {
                // Try to ping the service computer
                bool pingOk;
                try
                {
                    pingOk = Network.PingAddress(NetworksServiceIpBox.Text);
                }
                catch (Exception)
                {
                    pingOk = false;
                }
                if (!pingOk)
                {
                    MessageBox.Show("Ein Ping auf den angegebenen PC war nicht erfolgreich.", "AIC", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                // Check port
                int  port;
                bool portOk = int.TryParse(ServicePortBox.Text, out port);
                if (!portOk)
                {
                    MessageBox.Show("Der Port wurde nicht korrekt eingegeben.", "AIC", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                mListener = new AicServerListener(NetworksServiceIpBox.Text, port);
                mListener.ConnectionStatusChanged += mListener_ConnectionStatusChanged;
                try
                {
                    mListener.Start();
                }
                catch (Exception)
                {
                    mListener.Stop();
                    mListener.ConnectionStatusChanged -= mListener_ConnectionStatusChanged;
                    mListener = null;
                    MessageBox.Show("Es konnte keine Verbindung zum AIC-Service hergestellt werden.", "AIC", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show(this, "Die Verbindung zum AIC-Service wird bereits getestet.", "AIC", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }