System.Net.NetworkInformation.Ping pinger = new System.Net.NetworkInformation.Ping();
string ip = project.Variables["IP"].Value; // IP - переменная проекта зенки
try
{
System.Net.NetworkInformation.PingReply reply = pinger.Send(ip);
if(reply.Status != System.Net.NetworkInformation.IPStatus.Success)
throw new Exception("Не удалось пропинговать " + ip + ". Причина: " + reply.Status);
return reply.RoundtripTime;
}
catch (Exception e)
{
throw; // по красной
//project.SendErrorToLog(e.Message); // по зелёной
}
finally
{
if (pinger != null) pinger.Dispose();
}
поставь проверку, если 0 то по красной выйдиЗаметил интересную штуку. Пингую например ya.ru, возвращается значение задержки в переменную, все ок. Пингую любой несуществующий адрес, всегда возвращается 0. И по красной ветке никогда не выходит.
Дополнил.Пингую любой несуществующий адрес, всегда возвращается 0.
Скажите, как сделать Ping домена, чтобы получить его IP адресПримерно, так:
C#:System.Net.NetworkInformation.Ping pinger = new System.Net.NetworkInformation.Ping(); string ip = project.Variables["IP"].Value; // IP - переменная проекта зенки try { System.Net.NetworkInformation.PingReply reply = pinger.Send(ip); if(reply.Status != System.Net.NetworkInformation.IPStatus.Success) throw new Exception("Не удалось пропинговать " + ip + ". Причина: " + reply.Status); return reply.RoundtripTime; } catch (Exception e) { throw; // по красной //project.SendErrorToLog(e.Message); // по зелёной } finally { if (pinger != null) pinger.Dispose(); }
Пингует первый IP домена:Скажите, как сделать Ping домена, чтобы получить его IP адрес
System.Net.NetworkInformation.Ping pinger = new System.Net.NetworkInformation.Ping();
try
{
var ipAddrs = System.Net.Dns.GetHostAddresses(project.Variables["test"].Value);
if(ipAddrs.Length == 0)
throw new Exception("Список IP не был получен.");
string ip = ipAddrs[0].ToString(); // IP
System.Net.NetworkInformation.PingReply reply = pinger.Send(ip);
if(reply.Status != System.Net.NetworkInformation.IPStatus.Success)
throw new Exception("Не удалось пропинговать " + ip + ". Причина: " + reply.Status);
return reply.RoundtripTime;
}
catch (Exception e)
{
throw; // по красной
//project.SendErrorToLog(e.Message); // по зелёной
}
finally
{
if (pinger != null) pinger.Dispose();
}
Это пинг. IP получается проще:Проект выполняется, но в ответ я получаю двузначные цифры. 51, 54. Вместо IP)
var ipAddrs = System.Net.Dns.GetHostAddresses(project.Variables["test"].Value);
if(ipAddrs.Length == 0)
throw new Exception("Список IP не был получен.");
return ipAddrs[0].ToString(); // IP
Действительно, запутался. Нужный результат достигнут. Большое спасибо за помощь, так оперативно мне еще не помогали, это ZennoPoster за вас отвечает?)Это пинг, IP получается проще:
C#:var ipAddrs = System.Net.Dns.GetHostAddresses(project.Variables["test"].Value); if(ipAddrs.Length == 0) throw new Exception("Список IP не был получен."); return ipAddrs[0].ToString(); // IP
Почтитак оперативно мне еще не помогали, это ZennoPoster за вас отвечает?)
Скажите, пожалуйста, возможно ли получить Ns сервера домена средствами C#?
Тут указаны разные способы:возможно ли получить Ns сервера домена средствами C#?
есть какието ограничения кстати по запросам? например 1 млрд в сутки реально сделать? ну например)Тут указаны разные способы:
Спасибо, работает отлично!Примерно, так:
C#:System.Net.NetworkInformation.Ping pinger = new System.Net.NetworkInformation.Ping(); string ip = project.Variables["IP"].Value; // IP - переменная проекта зенки try { System.Net.NetworkInformation.PingReply reply = pinger.Send(ip); if(reply.Status != System.Net.NetworkInformation.IPStatus.Success) throw new Exception("Не удалось пропинговать " + ip + ". Причина: " + reply.Status); return reply.RoundtripTime; } catch (Exception e) { throw; // по красной //project.SendErrorToLog(e.Message); // по зелёной } finally { if (pinger != null) pinger.Dispose(); }
Подскажи пж попытался запустить твой код в кубике но выскакивают ошибки в немПримерно, так:
C#:System.Net.NetworkInformation.Ping pinger = new System.Net.NetworkInformation.Ping(); string ip = project.Variables["IP"].Value; // IP - переменная проекта зенки try { System.Net.NetworkInformation.PingReply reply = pinger.Send(ip); if(reply.Status != System.Net.NetworkInformation.IPStatus.Success) throw new Exception("Не удалось пропинговать " + ip + ". Причина: " + reply.Status); return reply.RoundtripTime; } catch (Exception e) { throw; // по красной //project.SendErrorToLog(e.Message); // по зелёной } finally { if (pinger != null) pinger.Dispose(); }
В данном коде Dns вообще не упоминается, у вас ошибка в другом экшене.Подскажи пж попытался запустить твой код в кубике но выскакивают ошибки в нем