public static PingResult PingHost(string host, int timeout = 1000, int pingCount = 4, int waitTime = 100) { PingResult pingResult = new PingResult(); IPAddress address = GetIpFromHost(host); byte[] buffer = new byte[32]; PingOptions pingOptions = new PingOptions(128, true); using (Ping ping = new Ping()) { for (int i = 0; i < pingCount; i++) { try { PingReply pingReply = ping.Send(address, timeout, buffer, pingOptions); if (pingReply != null) { pingResult.PingReplyList.Add(pingReply); } } catch (Exception e) { DebugHelper.WriteException(e); } if (waitTime > 0 && i + 1 < pingCount) { Thread.Sleep(waitTime); } } } return pingResult; }
public static PingResult PingHost(string host, int timeout = 1000, int pingCount = 4, int waitTime = 100) { PingResult pingResult = new PingResult(); IPAddress address = GetIpFromHost(host); byte[] buffer = new byte[32]; PingOptions pingOptions = new PingOptions(128, true); using (Ping ping = new Ping()) { for (int i = 0; i < pingCount; i++) { try { PingReply pingReply = ping.Send(address, timeout, buffer, pingOptions); if (pingReply != null) { pingResult.PingReplyList.Add(pingReply); } } catch (Exception e) { DebugHelper.WriteException(e); } if (waitTime > 0 && i + 1 < pingCount) { Thread.Sleep(waitTime); } } } return(pingResult); }
private void SendPing(string ip) { if (!string.IsNullOrEmpty(ip)) { btnPingPrimary.Enabled = btnPingSecondary.Enabled = false; TaskEx.Run(() => { PingResult pingResult = PingHelper.PingHost(ip); MessageBox.Show(pingResult.ToString(), "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information); }, () => { btnPingPrimary.Enabled = btnPingSecondary.Enabled = true; }); } }