Foros del Web » Programación para mayores de 30 ;) » .NET »

Trhead para determinar si estas conectado a internet

Estas en el tema de Trhead para determinar si estas conectado a internet en el foro de .NET en Foros del Web. Tengo un codigo realizado en c# para detectar si estas o no conectado a internet, el problema, es que es muy lento, y se demora ...
  #1 (permalink)  
Antiguo 09/04/2013, 07:38
 
Fecha de Ingreso: abril-2011
Ubicación: Mendoza
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación Trhead para determinar si estas conectado a internet

Tengo un codigo realizado en c# para detectar si estas o no conectado a internet, el problema, es que es muy lento, y se demora mas de 30 a 50 segundos su ejecucion, por lo que necesito encontrar algo mas rapido, por otro lado, necesito que todo el tiempo, se este escuchando si el usuario tiene o no internet para que en cuanto no tenga, la aplicacion se cierre.

Este es mi codigo que quiero cambiar:

Código:
Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var app = new Form1();
            var error = new Form2();

            System.Net.HttpWebRequest req;
            System.Net.HttpWebResponse res;
            bool conected;

            try
            {
                req = (System.Net.HttpWebRequest)
                System.Net.WebRequest.Create(@"http://www.google.com");
                res = (System.Net.HttpWebResponse)req.GetResponse();

                req.Abort();

                if (res.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    conected = true;
                }
                else
                {
                    conected = false;
                }
            }
            catch// (System.Net.WebException e) 
            {
                conected = false;
            }

            if (conected)
            {
                Application.Run(app);
            }
            else 
            {
                error.ShowDialog();
            }
__________________
Claudio A. Marrero - Proyect Manager
  #2 (permalink)  
Antiguo 12/04/2013, 15:28
 
Fecha de Ingreso: mayo-2010
Mensajes: 49
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Trhead para determinar si estas conectado a internet

este metodo te retorna un true(si hay internet), false(no hay internet)


Código C#:
Ver original
  1. private bool HayInternet()
  2.         {
  3.             try
  4.             {
  5.                 System.Net.IPHostEntry   host  = System.Net.Dns.GetHostEntry("www.google.com");
  6.  
  7.                 return true;
  8.             }
  9.             catch
  10.             {
  11.                 return false;
  12.             }
  13.         }
  #3 (permalink)  
Antiguo 15/04/2013, 09:52
 
Fecha de Ingreso: abril-2013
Mensajes: 5
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Trhead para determinar si estas conectado a internet

En VB.NET puedes hacer esto:

Código:
If My.Computer.Network.IsAvailable Then 
 .... hay conexión a internet
else
 .... no hay conexión a internet
End If
En C# no sé si podrías usarlo
  #4 (permalink)  
Antiguo 15/04/2013, 09:57
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Trhead para determinar si estas conectado a internet

Cita:
Iniciado por KernelENREK Ver Mensaje
En VB.NET puedes hacer esto:

Código:
If My.Computer.Network.IsAvailable Then 
 .... hay conexión a internet
else
 .... no hay conexión a internet
End If
En C# no sé si podrías usarlo
No, se trata de un objeto propio de VisualBasic, no del framework de .NET, por eso no está en todos los lenguajes que lo implementan.
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.