public static string DiscoverPentairServer(string ipAddress) { if (!TestFixtureProject.ViewModel.TestFixtureViewModel.Instance.Start120ACVRelayOn()) { string voltageStatus = "Start120ACVRelayOn - Error occured."; frmTestFixture.Instance.SetIpAddressLabel(voltageStatus); return(voltageStatus); } vm = new ViewModel.TestFixtureViewModel(); vm.openFile = true; serverStatus = "NOTAVAILABLE"; string addressInfo = string.Empty; try { IPAddress address = IPAddress.Parse(_mServerIPAddress.ToString()); Console.WriteLine("Addr: {0} ", _mServerIPAddress.ToString()); //Saved ip address addressInfo = _mServerIPAddress.ToString(); ConnectToServer(address); if (serverStatus.Equals(connected)) { LogStructureNew.DeviceDiscover = "PASS"; _RetrivedIpAddress = address.ToString(); TestFixtureSocketComm._IsIpAddressFound = true; } else { LogStructureNew.DeviceDiscover = "FAIL"; _RetrivedIpAddress = string.Empty; TestFixtureSocketComm._IsIpAddressFound = false; } string serverStatusMessage = String.Format("IP Address '{0}': {1} ", _RetrivedIpAddress, serverStatus); if (frmTestFixture.Instance != null) { frmTestFixture.Instance.SetIpAddressLabel(serverStatusMessage); frmTestFixture.Instance.SetErrorMessageDisplayTextBox(serverStatusMessage); frmTestFixture.Instance.WriteToLog(serverStatusMessage, ApplicationConstants.TraceLogType.Information); if (serverStatus.Equals(connected)) { frmTestFixture.Instance.SetIpAddressTextBox(addressInfo); } frmTestFixture.Instance.SetErrorMessageDisplayTextBox(addressInfo); frmTestFixture.Instance.WriteToLog(addressInfo, ApplicationConstants.TraceLogType.Information); } return(serverStatus); } catch (Exception e) { _mexceptionMessage = e.Message.ToString(); return(serverStatus); } }
public static string DiscoverPentairServer() { vm = new ViewModel.TestFixtureViewModel(); vm.openFile = true; serverStatus = "NOTAVAILABLE"; try { var nics = NetworkInterface.GetAllNetworkInterfaces(); foreach (var nic in nics) { if (serverStatus.Equals(connected)) { break; } if (serverStatus.Equals(interrupted)) { break; } if (serverStatus.Equals(serverUnavailable)) { break; } // _mServerIPAddress = null; var ippropoerties = nic.GetIPProperties(); //we are only interested in IPv4 address var ipv4add = ippropoerties.UnicastAddresses.Where(addr => addr.Address.AddressFamily == AddressFamily.InterNetwork); foreach (var addr in ipv4add) { var network = CalculateNetwork(addr); Console.WriteLine("Addr: {0} Mask: {1} Network: {2}", addr.Address, addr.IPv4Mask, network); string retrivedip = addr.Address.ToString(); string local_host = Dns.GetHostName(); // returns local hostname IPHostEntry host_entry = Dns.GetHostEntry(Dns.GetHostName()); foreach (var ip in host_entry.AddressList) { int delay = 1; LogStructureNew.DeviceDiscover = "FAIL"; if (_IsDelayCheck) { bool flag = vm.CheckTriggerDelayOnce(delay); if (!flag) { serverStatus = interrupted; return(serverStatus); } } TryToConnect(ip, ref retrivedip); if (serverStatus.Equals(connected)) { break; } } } } } catch (Exception e) { _mexceptionMessage = e.Message.ToString(); } return(serverStatus); }