Comprobar estado servidor remoto por IP

03/02/2005 - 17:07 por Oriol | Informe spam
Hola a todos,

Tengo una aplicacion WinForms en C# que se conecta a 8 servidores distintos
de SQL server. Tengo hecha toda la aplicacion, pero me encuentro que cuando
conecto por primera vez a cualquiera de ellos y este no esta operativo
(problemas con ADSL/VPN o similar), no me da error hasta que la consulta SQL
da timeout, es decir, tarda 1 minuto en saber si el servidor esta
funcionando o no.

Mi idea era comprovar antes de la consulta SQL el estado del servidor, y por
eso me he mirado este ejemplo de comprovacion de estado de webs
(http://www.programar.net/articles/conexion.aspx), pero al intentar poner
una IP "192.168.0.5" me salta la excepcion diciendo que no puene conectar
("Please insert a correct URL") y si le pongo http://192.168.0.5 me sale
("Connection Failure"). En este caso solo me responden los servidores que
tienen un WebServer activo, pero me interesaria algo mas parecido a un PING,
que es rapido y bastante fiable en una red privada (aparte que mis
servidores solo son servidores de SQL y no de web).

Algun ejemplo que pueda ayudarme?

Gracias a todos,
Oriol

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
03/02/2005 - 17:22 | Informe spam
Oriol,

Mira el código de este artículo para ver si te vale, parece muy bien
escrito...

http://www.csharphelp.com/archives/archive6.html

Slds,

Octavio

"Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
news:
Hola a todos,

Tengo una aplicacion WinForms en C# que se conecta a 8 servidores
distintos
de SQL server. Tengo hecha toda la aplicacion, pero me encuentro que
cuando
conecto por primera vez a cualquiera de ellos y este no esta operativo
(problemas con ADSL/VPN o similar), no me da error hasta que la consulta
SQL
da timeout, es decir, tarda 1 minuto en saber si el servidor esta
funcionando o no.

Mi idea era comprovar antes de la consulta SQL el estado del servidor, y
por
eso me he mirado este ejemplo de comprovacion de estado de webs
(http://www.programar.net/articles/conexion.aspx), pero al intentar poner
una IP "192.168.0.5" me salta la excepcion diciendo que no puene conectar
("Please insert a correct URL") y si le pongo http://192.168.0.5 me sale
("Connection Failure"). En este caso solo me responden los servidores que
tienen un WebServer activo, pero me interesaria algo mas parecido a un
PING,
que es rapido y bastante fiable en una red privada (aparte que mis
servidores solo son servidores de SQL y no de web).

Algun ejemplo que pueda ayudarme?

Gracias a todos,
Oriol


Respuesta Responder a este mensaje
#2 Oriol
04/02/2005 - 09:34 | Informe spam
Hola Octavio,

Estoy probando el codigo de ejemplo que me mandaste, pero me da errores en
los sockets.
De momento no puedo compilar porque me da errores en esta linia:
new Socket(AddressFamily.AfINet, SocketType.SockRaw, ProtocolType.ProtICMP);

Dandome errores de: 'System.Net.Sockets.AddressFamily' no contiene una
definición para 'AfINet', Similar para el 'System.Net.Sockets.ProtocolType
con ProtICMP y con .SocketType con SockRaw.

He buscado en la ayuda de MSDN pero no encuentro nada con estos valores.
Puede ser que sea una version anterior o posterior a la 2003 de C# que estoy
utilizando.

Gracias.

Saludos.

"Octavio Hernandez" escribió en el mensaje
news:
Oriol,

Mira el código de este artículo para ver si te vale, parece muy bien
escrito...

http://www.csharphelp.com/archives/archive6.html

Slds,

Octavio

"Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
news:
> Hola a todos,
>
> Tengo una aplicacion WinForms en C# que se conecta a 8 servidores
> distintos
> de SQL server. Tengo hecha toda la aplicacion, pero me encuentro que
> cuando
> conecto por primera vez a cualquiera de ellos y este no esta operativo
> (problemas con ADSL/VPN o similar), no me da error hasta que la consulta
> SQL
> da timeout, es decir, tarda 1 minuto en saber si el servidor esta
> funcionando o no.
>
> Mi idea era comprovar antes de la consulta SQL el estado del servidor, y
> por
> eso me he mirado este ejemplo de comprovacion de estado de webs
> (http://www.programar.net/articles/conexion.aspx), pero al intentar


poner
> una IP "192.168.0.5" me salta la excepcion diciendo que no puene


conectar
> ("Please insert a correct URL") y si le pongo http://192.168.0.5 me sale
> ("Connection Failure"). En este caso solo me responden los servidores


que
> tienen un WebServer activo, pero me interesaria algo mas parecido a un
> PING,
> que es rapido y bastante fiable en una red privada (aparte que mis
> servidores solo son servidores de SQL y no de web).
>
> Algun ejemplo que pueda ayudarme?
>
> Gracias a todos,
> Oriol
>
>


Respuesta Responder a este mensaje
#3 Vyacheslav Popov
04/02/2005 - 10:15 | Informe spam
Hola Oriol.

Porque complicarse la vida si se puede hacer cosas simples como:

try{
myConnection.Open();
//...
}
catch(Exception) {
MessageBox("No hay conexión");
//..
}
finally {
myConnection.Close();
}

Saludos.
Popov

"Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
news:
Hola a todos,

Tengo una aplicacion WinForms en C# que se conecta a 8 servidores
distintos
de SQL server. Tengo hecha toda la aplicacion, pero me encuentro que
cuando
conecto por primera vez a cualquiera de ellos y este no esta operativo
(problemas con ADSL/VPN o similar), no me da error hasta que la consulta
SQL
da timeout, es decir, tarda 1 minuto en saber si el servidor esta
funcionando o no.

Mi idea era comprovar antes de la consulta SQL el estado del servidor, y
por
eso me he mirado este ejemplo de comprovacion de estado de webs
(http://www.programar.net/articles/conexion.aspx), pero al intentar poner
una IP "192.168.0.5" me salta la excepcion diciendo que no puene conectar
("Please insert a correct URL") y si le pongo http://192.168.0.5 me sale
("Connection Failure"). En este caso solo me responden los servidores que
tienen un WebServer activo, pero me interesaria algo mas parecido a un
PING,
que es rapido y bastante fiable en una red privada (aparte que mis
servidores solo son servidores de SQL y no de web).

Algun ejemplo que pueda ayudarme?

Gracias a todos,
Oriol


Respuesta Responder a este mensaje
#4 Oriol
08/02/2005 - 10:37 | Informe spam
Hola Popov,

Voy a probarlo ahora mismo. No habia pensado en esta opcion.

Te comento como me fue.

Saludos.
Oriol.

"Vyacheslav Popov" escribió en el mensaje
news:%
Hola Oriol.

Porque complicarse la vida si se puede hacer cosas simples como:

try{
myConnection.Open();
//...
}
catch(Exception) {
MessageBox("No hay conexión");
//..
}
finally {
myConnection.Close();
}

Saludos.
Popov

"Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
news:
> Hola a todos,
>
> Tengo una aplicacion WinForms en C# que se conecta a 8 servidores
> distintos
> de SQL server. Tengo hecha toda la aplicacion, pero me encuentro que
> cuando
> conecto por primera vez a cualquiera de ellos y este no esta operativo
> (problemas con ADSL/VPN o similar), no me da error hasta que la consulta
> SQL
> da timeout, es decir, tarda 1 minuto en saber si el servidor esta
> funcionando o no.
>
> Mi idea era comprovar antes de la consulta SQL el estado del servidor, y
> por
> eso me he mirado este ejemplo de comprovacion de estado de webs
> (http://www.programar.net/articles/conexion.aspx), pero al intentar


poner
> una IP "192.168.0.5" me salta la excepcion diciendo que no puene


conectar
> ("Please insert a correct URL") y si le pongo http://192.168.0.5 me sale
> ("Connection Failure"). En este caso solo me responden los servidores


que
> tienen un WebServer activo, pero me interesaria algo mas parecido a un
> PING,
> que es rapido y bastante fiable en una red privada (aparte que mis
> servidores solo son servidores de SQL y no de web).
>
> Algun ejemplo que pueda ayudarme?
>
> Gracias a todos,
> Oriol
>
>


Respuesta Responder a este mensaje
#5 Oriol
15/02/2005 - 09:52 | Informe spam
Hola,

Al final ya lo he podido probar, es que he estado muy liado. Funciona a la
perfección y sin lios de paquetes ICMP ni nada.

Gracias.
Oriol.


"Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
news:
Hola Popov,

Voy a probarlo ahora mismo. No habia pensado en esta opcion.

Te comento como me fue.

Saludos.
Oriol.

"Vyacheslav Popov" escribió en el mensaje
news:%
> Hola Oriol.
>
> Porque complicarse la vida si se puede hacer cosas simples como:
>
> try{
> myConnection.Open();
> //...
> }
> catch(Exception) {
> MessageBox("No hay conexión");
> //..
> }
> finally {
> myConnection.Close();
> }
>
> Saludos.
> Popov
>
> "Oriol" <intranet[arroba]rvsa-itv.com> escribió en el mensaje
> news:
> > Hola a todos,
> >
> > Tengo una aplicacion WinForms en C# que se conecta a 8 servidores
> > distintos
> > de SQL server. Tengo hecha toda la aplicacion, pero me encuentro que
> > cuando
> > conecto por primera vez a cualquiera de ellos y este no esta operativo
> > (problemas con ADSL/VPN o similar), no me da error hasta que la


consulta
> > SQL
> > da timeout, es decir, tarda 1 minuto en saber si el servidor esta
> > funcionando o no.
> >
> > Mi idea era comprovar antes de la consulta SQL el estado del servidor,


y
> > por
> > eso me he mirado este ejemplo de comprovacion de estado de webs
> > (http://www.programar.net/articles/conexion.aspx), pero al intentar
poner
> > una IP "192.168.0.5" me salta la excepcion diciendo que no puene
conectar
> > ("Please insert a correct URL") y si le pongo http://192.168.0.5 me


sale
> > ("Connection Failure"). En este caso solo me responden los servidores
que
> > tienen un WebServer activo, pero me interesaria algo mas parecido a un
> > PING,
> > que es rapido y bastante fiable en una red privada (aparte que mis
> > servidores solo son servidores de SQL y no de web).
> >
> > Algun ejemplo que pueda ayudarme?
> >
> > Gracias a todos,
> > Oriol
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida