// 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); } }