¿Hay alguna manera de abrir un websocket en una página y luego reutilizarlo en otra página (dentro de la misma pestaña, después de que un usuario haga clic en un enlace, por ejemplo) en lugar de tener que abrir un nuevo websocket después de cargar cada página? ¿El almacenamiento del navegador puede mantenerse en un socket abierto?Reutilizando websockets entre páginas?
El objetivo es poder mantener un websocket por usuario (o pestaña) y sería genial hacerlo sin necesidad de moverse entre páginas de una manera no tradicional, por ejemplo cargando contenido en un div usando Javascrpt cada vez que el usuario interactúa con la página.
Cuando se crea una conexión de websocket, existe un estado que ambos lados de la conexión deben seguir para que exista la conexión. Creo que si almacenaste el estado del lado del cliente de una conexión en el almacenamiento local (ten en cuenta que el lado del cliente del sistema websocket debe modificarse para permitir que la mayoría o incluso todos los clientes de websocket no lo admitan hasta donde yo sé), es posible que pueda volver a abrir la conexión más tarde o incluso en otra página (siempre que el servidor no haya perdido su mitad del estado). Entonces debe ser posible pero ¿cómo? Me gustaría ver una muestra de trabajo. –
Imagino que para "volver a crear" el websocket de esa manera el servidor también debería soportarlo. O más particularmente, la biblioteca utilizada para implementar el soporte de websocket en el servidor. Sospecho que la mayoría de las implementaciones en el servidor cerrarían la conexión web cuando detectara que la conexión TCP subyacente estaba cerrada, aunque los cambios en el cliente que sugiera podrían mantenerla abierta. –
Sí, ** una conexión websocket no vive la conexión tcp creada como transporte **, bueno, pensé que eran más inteligentes. –