Así que tengo una interfaz de vainilla simple, sin marcos porque el sitio es muy pequeño. El sitio es una pequeña interfaz web para que pueda enviar fechas a una base de datos y cargar datos en otra base de datos.
Mi compañero de trabajo en el proyecto instaló un script bash en otro servidor, tengo que ejecutar para iniciar la carga de datos en una nueva base de datos. Luego, el script escribe en un archivo cada sexto segundo con una fecha que necesito mostrar en la interfaz.
El backend está en java, y el frontend es puro html, css y vanilla js.
Me topé con WatchService en Java, que suena como lo que necesito. El problema es ¿cómo envío los datos a la interfaz cuando cambia?
Podría hacer un truco al respecto, con un setInterval en js, pero ¿no hay una forma más natural/dinámica?
Este es un problema fundamental importante que tiene muchas soluciones diferentes con diferentes arquitecturas. El más simple es el sondeo en el que el cliente sigue enviando solicitudes al servidor con intervalos de tiempo preestablecidos. El otro es "Sondeo largo": la idea es que el cliente envía una solicitud al servidor, pero el servidor no responde hasta que ocurre algún evento del que se debe notificar al cliente, por lo que el servidor solo retiene esa solicitud hasta que necesita usarla. para notificar al cliente y luego el cliente envía una nueva solicitud al servidor y así sucesivamente. Otra solución es "Notificaciones automáticas". Otra solución es SSE: eventos secundarios del servidor. Así que simplemente busque en la web los términos mencionados aquí: sondeo, sondeo largo, notificaciones automáticas de SSE. Esta NO es una lista completa
Usar WebSockets
socket.on('change' callback())Espero eso ayude.