private void ScanAsync() { try { hostCount = 0; Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, $"Tools.PortScan: Starting scan of {_ipAddresses.Count} hosts...", true); foreach (var ipAddress in _ipAddresses) { BeginHostScanEvent?.Invoke(ipAddress.ToString()); var pingSender = new Ping(); try { pingSender.PingCompleted += PingSender_PingCompleted; /* https://msdn.microsoft.com/en-us/library/0e6kc029(v=vs.110).aspx * Default timeout is 5 seconds... That's a bit long... */ //TODO Make timeout configurable... pingSender.SendAsync(ipAddress, /*userToken:*/ ipAddress); } catch (Exception ex) { Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"Tools.PortScan: Ping failed for {ipAddress} {Environment.NewLine} {ex.Message}", true); } } } catch (Exception ex) { Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"StartScanBG failed (Tools.PortScan) {Environment.NewLine} {ex.Message}", true); } }
private void ScanAsync() { try { hostCount = 0; Runtime.MessageCollector.AddMessage(MessageClass.InformationMsg, $"Tools.PortScan: Starting scan of {_ipAddresses.Count} hosts...", true); foreach (IPAddress ipAddress in _ipAddresses) { BeginHostScanEvent?.Invoke(ipAddress.ToString()); Ping pingSender = new Ping(); try { pingSender.PingCompleted += PingSender_PingCompleted; pingSender.SendAsync(ipAddress, ipAddress); } catch (Exception ex) { Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"Tools.PortScan: Ping failed for {ipAddress} {Environment.NewLine} {ex.Message}", true); } } } catch (Exception ex) { Runtime.MessageCollector.AddMessage(MessageClass.WarningMsg, $"StartScanBG failed (Tools.PortScan) {Environment.NewLine} {ex.Message}", true); } }