Array
(
)

Fazendo PING para outro micro

Douglas Santos
   - 06 mai 2016

Olá eu estou querendo fazer um sistema de lan house, e quero verificar se todos os computadores que usam um terminal estão online na rede usando o ping, porem quando eu uso ele trava o sistema ,
Por favor me ajude neste caso?
Meu email: basetechti@gmail.com
Segue a baixo o algorítimo que eu estou usando
int StatusVerifica = (classServidor.Ping(conexao.retorno["EnderecoIP"].ToString()) == true ? Convert.ToInt16(conexao.retorno["statusInt"].ToString()) : 3);
switch (StatusVerifica)
{
case 1:
status = "terminalon";
break;
case 2:
status = "terminalfalha";
break;
case 3:
status = "terminaloff";
break;
}
Terminal.Add(new Terminal()
{
ImageFilePath = new Uri(string.Format(@"Resources/{0}.png", status), UriKind.Relative),
id = Convert.ToInt32(conexao.retorno["idTerminal"].ToString()),
Referencia = conexao.retorno["Nome"].ToString(),
Condicao = (StatusVerifica == 3 ? "Offline" : conexao.retorno["Atividade"].ToString())
});
Essa é a função dentro da classe classServidor
public static bool Ping(string EnderecoIP = null)
{
if (EnderecoIP != null && EnderecoIP.Length > 0 )
{
Ping ping = new Ping();
PingReply reply = ping.Send(EnderecoIP);
if (reply.Status == IPStatus.Success)
{
return true;
}
else {
return false;
}
}
else
{
return false;
}
Essa dúvida foi gerada a partir de um comentário no artigo Dicas .NET - Fazendo PING para outro micro com C#(csharp)