Bueno, hay una gran cantidad de información sobre websockets. La tecnología en sí es increíble, no hay duda en este hecho. Y antes de comenzar a usarlos en mi aplicación solo quiero que la comunidad responda estas preguntas:Websockets. Pérdida de Internet, mensajes para mantener vivo, arquitectura de la aplicación, etc.
"... para mantener la presencia, la aplicación puede enviar mensajes de permanencia en vivo en el WebSocket para evitarlo de ser cerrado debido a un tiempo de espera inactivo ... "
" ... idealmente una versión futura de WebSocket admitirá el descubrimiento de tiempo de espera, por lo que puede decirle a la aplicación el período para mensajes de mantener vivo ... "
Esto se siente como un deja vu. Anteriormente tuvimos que sondear el servidor una vez a% period_time% para obtener la información actualizada necesaria. Con websockets tenemos que sondear el servidor websocket una vez a% period_time% con mensajes keep-alive para asegurarnos de que la conexión a Internet aún está activa/el servidor websocket todavía está funcionando. ¿Cuál es el beneficio?
Y otra cosa con respecto a estos mensajes para mantener vivo. El protocolo Websocket tiene la ventaja de utilizar menos tráfico que HTTP (S). Si enviamos mensajes de mantener vivo, parece que la ventaja del tráfico desaparece. ¿O tal vez no?
¿Cómo debo manejar la pérdida de de Internet en mi aplicación si uso websockets? Me refiero a la situación real cuando la conexión a Internet se pierde repentinamente (quiero decir que no ha sucedido ningún evento "navigator.offline"). ¿Debo usar algún tipo de función setTimeout para buscar mensajes de mantener vivo o hay una mejor manera de manejar esta situación?
REST nos da una idea clara de cómo debería funcionar una aplicación y cómo deberían ser las solicitudes. ¿Cuál es la mejor manera de hacer esto en aplicaciones basadas en websocket? ¿Debo simplemente tener (por ejemplo) mensajes codificados en JSON con el campo request.action? ¿Y cómo debería la aplicación realizar solicitudes PUT? Hay recursos de URL en el modelo REST para manejar esto, así que ¿debo usar la combinación de estos enfoques o tal vez hay algo simplista?
Esta pregunta no se ajusta bien a nuestro formato de preguntas y respuestas. Esperamos que las respuestas generalmente involucren hechos, referencias o experiencia específica; es probable que esta pregunta solicite opiniones, debates, argumentos, encuestas o debates extensos. – Jakub
@Jakub pensé que stackoverflow es la mejor manera de obtener respuestas sobre esta tecnología. Solo quiero escuchar a las personas que conocen las respuestas a estas preguntas. De hecho, no es necesario debatir. –