Команда ping

gexweb

Client
Регистрация
04.12.2016
Сообщения
53
Благодарностей
20
Баллы
8
Подскажите, есть ли возможность средствами C# выполнить команду "ping" с последующим взятием значения? (Не средствами стороннего веб сервиса!!!)
 

Zymlex

Client
Регистрация
24.10.2016
Сообщения
1 732
Благодарностей
906
Баллы
113
Примерно, так:
C#:
System.Net.NetworkInformation.Ping pinger = null;
string ip = project.Variables["IP"].Value; // IP - переменная проекта зенки

try
{
    pinger = new System.Net.NetworkInformation.Ping();
    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();
}
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred и gexweb

gexweb

Client
Регистрация
04.12.2016
Сообщения
53
Благодарностей
20
Баллы
8
Спасибо работает!
 

gexweb

Client
Регистрация
04.12.2016
Сообщения
53
Благодарностей
20
Баллы
8
Заметил интересную штуку. Пингую например ya.ru, возвращается значение задержки в переменную, все ок. Пингую любой несуществующий адрес, всегда возвращается 0. И по красной ветке никогда не выходит.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 015
Благодарностей
1 816
Баллы
113
Заметил интересную штуку. Пингую например ya.ru, возвращается значение задержки в переменную, все ок. Пингую любой несуществующий адрес, всегда возвращается 0. И по красной ветке никогда не выходит.
поставь проверку, если 0 то по красной выйди
 

gexweb

Client
Регистрация
04.12.2016
Сообщения
53
Благодарностей
20
Баллы
8
Тут еще нюанс есть, если я пингую сам себя или любой локальный ресурс то получается задержка минимальная равная 1 мс, и не совсем понятно то ли программа считает что задержка 0 мс, то ли узел не доступен, возвращает значение 0.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)