Spisie treści
Modele aplikacji
Komunikacja w czasie rzeczywistym staje się koniecznością w aktualnie budowanych aplikacjach webowych, za nimi są te serwisy, które miały dziesiątki stron dla każdego działania użytkownika, teraz wszystko kręci się wokół aplikacji pojedynczej strony i jej zdolności do bycia dynamicznym i asynchroniczny.
To prowadzi nas do opracowania technik, które pozwalają nam adoptować i wydobywać informacje w czasie rzeczywistym z danych obsługiwanych w aplikacji, więc musimy znać podstawowe techniki, które pozwalają nam realizować te podejścia.
W tej sekcji zobaczymy kilka technik wydobywania informacji w czasie rzeczywistym, to znaczy osiągania stanu asynchronii bez zależności od działań użytkownika, aby serwer wysłał dane do klienta.
ten klasyczny model aplikacji ma miejsce wtedy, gdy nasza strona oczekuje na odpowiedź z serwera, w ten sposób pozostają one w stanie synchronicznym, który sprawia, że wszystkie nowe dane zależą od akcji, które użytkownik wykonuje w warstwie klienta, więc jeśli chcesz zobaczyć aktualizację, musisz wykonaj akcję, która przeładuje stronę.
Model asynchronicznyDrugim modelem jest model asynchronii przez AJAX gdzie sekcje strony są ponownie ładowane, w ten sposób unikamy konieczności ponownego ładowania całego dokumentu, jednak nadal jesteśmy uzależnieni od pierwszego zdarzenia, jakim jest wykonanie przez użytkownika jakiejś akcji.
Wreszcie możemy mówić o prawdziwej komunikacji w czasie rzeczywistym, gdy informacje są przesyłane przez serwer niezależnie od działań użytkownika, chociaż brzmi to skomplikowanie, tak naprawdę nie jest, są to po prostu różne techniki, których możemy użyć, do tego będziemy zobacz niektóre z dostępnych:
Technika ta polega na symulowaniu rozmowy między klientem a serwerem, dzięki czemu możemy okresowo wprowadzać aktualizacje danych bez przerywania użytkownikowi, sprawiając wrażenie, że dane są przesyłane w czasie rzeczywistym.
Aby to osiągnąć, wykonuje się kombinację między połączeniami AJAX i funkcja minutnik () z JavaScriptDzięki temu możemy kontrolować, w jaki sposób i kiedy dane zostaną pozyskane, wadą tego jest to, że marnujemy zasoby, ponieważ jeśli będzie więcej żądań niż uzyskanych danych, będziemy nadużywać serwera, co może generować problemy z wydajnością.
Ta technika, w przeciwieństwie do poprzedniej, nie jest symulacją rozmowy ani nie ma wielu połączeń, ale wykonujemy jedno połączenie, ale jest bardzo długie, czyli jest jak otwieranie kranu i gdy woda płynie czekamy żeby coś spadło.
W tym celu utrzymujemy połączenie z serwerem otwarte do momentu uzyskania odpowiedzi, jest to nieco bardziej podobne do czasu rzeczywistego, jednak problem polega na tym, że gdy połączenie jest bardzo długie, może zostać zamknięte lub być może klient uzyskuje dostęp z lokalizacja, która zamyka połączenia w bardzo krótkim czasie, dlatego nie jest zbyt niezawodna, również jeśli otworzymy wiele wątków tego stylu, możemy spowodować awarię serwera.
Widzieliśmy już kilka podstawowych technik tworzenia aplikacji z elementami asynchronicznymi w czasie rzeczywistym i dzięki temu poznaliśmy również ich wady, w następnej części zobaczymy zaawansowane techniki do tego zadania.
PoprzedniStrona 1 z 2NastępnyPodobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt