Mam działający przykład Websockets, gdzie klienci otrzymują wiadomości z serwera.Jak wysłać stare wiadomości za pomocą Websockets
Nie jestem pewien, w jaki sposób powinienem wysyłać stare wiadomości do klientów, gdy się łączą.
Przykład:
- Każdy klient dostarcza swoje nazwisko, gdy łączą
- serwer odpowie „[nazwa] właśnie podłączony” (dla wszystkich klientów)
- Wszelkie nowi klienci nie dostać te wiadomości
Zastanawiam się, czy istnieje sposób, w jaki klienci mogą odbierać stare wiadomości (wszystkie z nich lub wiadomości w ciągu ostatnich 5 minut byłyby dopuszczalne).
Podejrzewam, że będę musiał przechwycić te informacje osobiście, przechowywać je gdzieś (jak bazę danych) i wysyłać wiadomości do nowych klientów. Czy to prawda, czy coś mi brakuje?
Jeśli ktoś ma pseudo kod lub link do przykładu tego, jak inni to zaimplementowali, byłby przydatny.
Czy to nie jest tak proste, jak serwer wysyła listę aktualnie podłączonych klientów do każdego nowego klienta? – JeffRSon
@JeffRSon Chcę móc wysyłać dowolne dowolne dane. –
Nie jestem pewien, czy wysyłanie nieaktualnych wiadomości ma sens. Załóżmy, że klient podłączył się i rozłączył. Czy wyślesz obie wiadomości do dowolnego nowego klienta? Czy wiesz, że rozłączona wiadomość musi "usunąć" poprzednią połączoną wiadomość? Jeśli nie jest to rejestrowanie, należy wysyłać tylko bieżący stan. A do logowania musisz zachować całą masę wiadomości, aby je wysłać - jednak tylko raz, oczywiście. – JeffRSon