Czy istnieje sposób na otwarcie websocket na jednej stronie, a następnie ponowne użycie go na innej stronie (na tej samej karcie, na przykład po kliknięciu przez użytkownika na łączu) zamiast otwierania nowego websocket po każdym załadowaniu strony? Czy pamięć przeglądarki może trzymać się otwartego gniazda?Ponowne wykorzystanie websockets między stronami?
Celem jest utrzymywanie jednego websocket na użytkownika (lub zakładkę) i byłoby świetnie zrobić to bez konieczności przechodzenia między stronami w nietradycyjny sposób, na przykład ładowanie zawartości do elementu div przy użyciu Joincrpt za każdym razem, gdy użytkownik wchodzi w interakcję ze stroną.
Po utworzeniu połączenia z internetem istnieje stan, który obie strony połączenia muszą śledzić, aby połączenie istniało. Wydaje mi się, że jeśli zapisałeś stan po stronie klienta połączenia w pamięci lokalnej (pamiętaj, że strona klienta systemu websocket musi zostać zmodyfikowana, aby umożliwić to większości lub nawet wszystkim klientom sieciowym nie obsługują tego, o ile wiem), możesz być w stanie ponownie otworzyć połączenie lub nawet na innej stronie (o ile serwer nie opuścił połowy stanu). Musi być możliwe, ale jak? Chciałbym zobaczyć działającą próbkę. –
Wyobrażam sobie, że aby "odtworzyć" taki websocket, serwer również musiałby go wspierać. A dokładniej biblioteka używana do implementacji obsługi websocket na serwerze. Podejrzewam, że większość implementacji na serwerze zakończyłaby działanie websocket po wykryciu, że podstawowe połączenie TCP zostało zamknięte - chociaż zmiany proponowane przez klienta mogą je zachować. –
Yup, ** połączenie websocket nie działa na żywo połączenie tcp utworzone jako transport **, dobrze, myślałem, że były one sprytniejsze. –