Witam, przygotowuję aplikację, która rozsyła dane do podłączonych osób.
Zależy mi na tym aby dana wiadomość zawsze dotarła do każdego podłączonego użytkownika i mam tutaj dylemat.
Myślę, że wysyłając wiadomość przy pomocy:
io.sockets.emit
nie mam pewności, że wiadomość zawsze dotrze do wszystkich i teraz zastanawiam się jak to rozwiązują inni użytkownicy.
Ja osobiście pomyślałem sobie tak:
- Zrobię sobie tablice gdzie będę przechowywać 15 ostatnich komunikatów
- Każdy nowy komunikat, który będę chciał wysłać dodać trafi do tablicy
- Tablica z 15 komunikatami zostanie wysłana do każdego klienta
- Po stronie klienta skrypt przeparsuje, który komunikat już obsłużył, a który jeszcze nie.
I teraz się zastanawiam czy stosuje się takie rozwiązania ?
Czy może połączenie przez socket.io jest na tyle stabilne, że można pozwolić sobie na wysłanie komunikatu tylko raz i oznacza to, że pakiet na pewno dotarł ?
A może są jakieś inne rozwiązania, które zapewnią odbiór pakietu bez żadnej straty?