MGJ Dosta je jednostavan zadatak, samo ga treba bolje predočiti
Malo teorije:
Short polling funkcionira ovako: Klijent periodički (npr svakih 5s) šalje GET zatjev i što dobije dobije. Ako ima poruke on ce je dohvatiti, ako nema onda dobiva prazan odgovor.
Zbog toga na nekim mjestima stoji X jer ta poruka nikad nije došla - neka druga, novija, poruka je u meduvremenu dosla i zapisala se u varijabu “zadnjaPoruka”
(U praksi se ovo ne koristi jer je ostvarivanje veze sa serverom tj onaj handshake zapravo najskuplji dio)
Long polling funkcionira ovako: Klijent posalje GET zahtjev i taj zahtjev ostaje otvoren na serveru dokle god mu server ne posluži odgovor. Kad klijent dobije odgovor onda opet radi novi GET zahtjev za iducom porukom pa ceka odgovor na nju . Zbog toga u rj. zadatka vrijeme kad klijent dobije poruku = vrijeme kad je drugi klijent poslao tu poruku
(Ovaj nacin smanjuje nepotrebne zahtjeve na server, bolje ali ne idealno)
WebSocket : Izmedu klijenta i servera se otvara TRAJNA veza putem TCP-a. To je duplex sto znaci da se kroz tu vezu moze razgovarati u oba smjera istovremeno. Tu ce isto biti vrijeme kad klijent dobije poruku = vrijeme kad je drugi klijent poslao tu poruku
Ono sto u zadatku pise je da se pamti samo jedna ZADNJA poruka. Dakle kod short pollinga - ako klijent 2 svakih 10s pošalje GET zahtjev za porukom, a klijent 1 u tom vremenu je poslao 3 poruke (“3”,“5” i “6”) onda ce klijent2 dobiti samo onu zadnju tj “6”
Eo mali dijagram da je jasniji taj short polling. Mislim da ova druga dva nemam sto objasnjavati.