elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: 4n4lDetector v1.3: herramienta de análisis estático de malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: ¿Como hacer una alerta cuando se pierda la conexión con el servidor?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: ¿Como hacer una alerta cuando se pierda la conexión con el servidor?  (Leído 361 veces)
MiguelCanellas


Desconectado Desconectado

Mensajes: 558



Ver Perfil
[Pregunta]: ¿Como hacer una alerta cuando se pierda la conexión con el servidor?
« en: 7 Julio 2020, 18:57 »

Hola,

la idea es esa, mostrar un mensaje cuando un usuario pierda la conexión con el servidor... ya sea que el servidor se haya caído o que el usuario haya perdido la conexión a internet..

hace un tiempo había preguntado lo mismo, no me acuerdo bien pero en aquel momento alguien me dijo que podía hacerlo con ajax... la idea es hacerlo cuando el usuario haga una petición al servidor y entonces en ese momento detectar el estado de la conexión...

Espero estar haciendome entender, gracias...
Tampoco sé bien que clase de condicional se debe poner para saber el estado de conexión, imagino que no debe ser algo tan complicado de hacer...

EDIT:
¿esto me servirá para eso?

Código
  1. {
  2.   // [...]
  3. }
  4.  


« Última modificación: 7 Julio 2020, 22:11 por MiguelCanellas » En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.372

Vue SSr


Ver Perfil WWW
Re: [Pregunta]: ¿Como hacer una alerta cuando se pierda la conexión con el servidor?
« Respuesta #1 en: 8 Julio 2020, 03:05 »

El tema de hacerlo con ajax es que vas a tener que hacer polling (ejecutar una consulta constantemente cada cierto tiempo) pero esto es muy ineficiente, y si estas en un dispositivo con batería aun más. Esto es debido a que el protocolo HTTP 1.1 es básicamente un protocolo desconectado y sin estado (stateless).

Para este tipo de cosas lo mejor es usar websockets, y concretamente la implementación mediante socket.io

Del lado del cliente funciona en JS. Del lado del servidor con Nodejs.

Tambien hay otras implementaciones de websockets para otros lenguajes, como PHP, pero si o si vas a necesitar tener acceso al servidor a nivel de SO ya que tu script de websocket del lado del servidor deberá estar corriendo constantemente....


En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
MiguelCanellas


Desconectado Desconectado

Mensajes: 558



Ver Perfil
Re: [Pregunta]: ¿Como hacer una alerta cuando se pierda la conexión con el servidor?
« Respuesta #2 en: 8 Julio 2020, 03:11 »

Por eso descarte el método de ajax, mi idea no es hacerlo en "tiempo real" sino que hacerlo cuando el usuario haga una petición... por ejemplo cuando un usuario cargue un formulario (hasta ahí tiene conexión) pero luego cuando el presione un botón submit que es para enviar dicho formulario (en ese momento ya perdió la conexión) entonces se valida si tiene conexión o no... realmente nose si lo que yo estoy planteando tiene sentido ya que si ya no tiene conexión no se hasta que punto va a poder validarse algo si lógicamente ya no tiene conexión..  :-\
En línea

MinusFour
Colaborador
***
Desconectado Desconectado

Mensajes: 4.871


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: ¿Como hacer una alerta cuando se pierda la conexión con el servidor?
« Respuesta #3 en: 8 Julio 2020, 15:39 »

Por eso descarte el método de ajax, mi idea no es hacerlo en "tiempo real" sino que hacerlo cuando el usuario haga una petición... por ejemplo cuando un usuario cargue un formulario (hasta ahí tiene conexión) pero luego cuando el presione un botón submit que es para enviar dicho formulario (en ese momento ya perdió la conexión) entonces se valida si tiene conexión o no... realmente nose si lo que yo estoy planteando tiene sentido ya que si ya no tiene conexión no se hasta que punto va a poder validarse algo si lógicamente ya no tiene conexión..  :-\

En el caso de un formulario sencillo (sin JS) es el navegador el que navega a la nueva URL y envia la información (POST o GET). En ese caso, no estoy seguro si el navegador comparte los detalles de la navegación, lo más probable es que no.

Por otro lado, si usas JS para enviar la petición tanto XHR como fetch tiran un error que puedes capturar y mostrar una alerta.

Código
  1. fetch(url).catch(function(e){ alert('Problemas con la conexión/petición'); });

Código
  1. var req = new XMLHttpRequest();
  2. req.addEventListener("error", function(e){
  3.    alert('Problemas con la conexión/petición');
  4. });
  5. req.open("GET",url);
  6. req.send();
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines