Как в C# проверить доступность компьютера в локальной сети? Здравствуйте!
Делаю программу для проверки работы (онлайн) компьютеров в локалке.
Гуглом и модификациями смог создать такой код:private Boolean ping(String host)
{
using (var p = new Process())
{
p.StartInfo.FileName = "ping.exe";
p.StartInfo.Arguments = "-n 1 " + host;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("CP866");
p.Start();
string output = p.StandardOutput.ReadToEnd();
Boolean status = output.Contains("TTL=");
return status;
}
}
Но чувствую, что это велосипед с кучей костылей...
Можно ли как-то проще и элегантнее проверить, включён ли компьютер, зная его ip?
Приложение на C# для Windows Form (.NET Framework)
P.S. в Python например это всё можно сделать парой строк:response = subprocess.call(["ping", "-c", "1", host], stdout=DNULL)
if response == 0:
print("Доступен!")
Не верится, что в C# всё настолько более громоздко...

21 Авг 2019 в 06:24
262 +1
0
Ответы
1

Да, в C# есть более простой способ проверить доступность компьютера в локальной сети, используя класс Ping из пространства имен System.Net.NetworkInformation. Ниже приведен пример кода:

using System;
using System.Net.NetworkInformation;
private bool PingHost(string host)
{
bool status = false;
Ping ping = new Ping();
try
{
PingReply reply = ping.Send(host);
if (reply.Status == IPStatus.Success)
{
status = true;
}
}
catch (Exception ex)
{
Console.WriteLine("An error occurred: " + ex.Message);
}
return status;
}

Этот код использует класс Ping для отправки ICMP-пакета на заданный хост и проверки статуса ответа. Если статус ответа Success, то компьютер доступен.

Вы можете вызвать функцию PingHost и передать ей IP-адрес компьютера, который вы хотите проверить на доступность.

20 Апр в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 622 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир