Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

139
Views
Oyente de eventos para el cambio de conexión de red

En JavaScript (en Chrome) intento realizar alguna tarea cada vez que un usuario cambia de una red WiFi a otra (suponiendo que ambas redes son exactamente iguales en términos de rendimiento).

Empecé observando los eventos en online / offline de línea de la interfaz de Windows y navigator.onLine , pero parece que no se activan cuando cambiamos de red (desconectarnos de una red y conectarnos a la otra) porque

En Chrome y Safari, si el navegador no puede conectarse a una red de área local (LAN) o un enrutador, está fuera de línea; todas las demás condiciones devuelven verdadero.

no puede asumir que un valor verdadero significa necesariamente que el navegador puede acceder a Internet. Es posible que obtenga falsos positivos, como en los casos en que la computadora ejecuta un software de virtualización que tiene adaptadores Ethernet virtuales que siempre están "conectados".

Ref1: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine

Ref2: ¿por qué navigator.onLine() devuelve verdadero incluso si mi conexión a Internet no funciona?

Además, el objeto navigator.connection no necesariamente se actualiza para activar el evento navigator.connection.onchange en caso de cambiar de red.

Intenté usar WebRTC con STUN para capturar la dirección IP pública para diferenciar entre las dos conexiones, pero no hay un detector de eventos que indique de manera confiable que se ha producido un cambio en la red.

Entiendo que JavaScript no puede acceder directamente a la información de la red a través del navegador por razones de seguridad, pero ¿existe alguna alternativa que pueda usarse de manera confiable para desencadenar un evento cada vez que se cambia la red o no hay conectividad real a Internet aunque la computadora esté conectada a la LAN/Wi-Fi?

about 4 years ago · Santiago Gelvez
2 answers
Answer question

0

Lo que está buscando no tiene una amplia compatibilidad con navegadores, pero existe en navegadores basados en Chromium: https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation/change_event

about 4 years ago · Santiago Gelvez Report

0

Esto se conoce como problema de "salir por la puerta". Estas diapositivas de una reunión del IETF de 2015 lo explican bien: https://www.ietf.org/proceedings/94/slides/slides-94-ice-6.pdf

En pocas palabras, lo que debe hacer en el navegador es esperar a que la conexión anterior se desconecte e iniciar un reinicio de ICE para restablecer la conexión.

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!