NodeJS komunikacja przez socket.io

0

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:

  1. Zrobię sobie tablice gdzie będę przechowywać 15 ostatnich komunikatów
  2. Każdy nowy komunikat, który będę chciał wysłać dodać trafi do tablicy
  3. Tablica z 15 komunikatami zostanie wysłana do każdego klienta
  4. 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?

0

Jeśli połaczenie jest aktywne to wiadomość dotrze, masz zdarzenie disconect, dzięki któremu wiesz, że klient się rozłaczył i nie przyjmie widomości. Jak chcesz być całkowicie pewien to możesz zastosować protokół JSON-RPC: https://www.simple-is-better.org/json-rpc/transport_sockets.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1