Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Long polling is een soort van opvolger, en in dit geval een betere, van polling. Long polling begint op dezelfde manier. Er wordt een request gestuurd naar de server vanaf de client. Hier is ook gelijk al te zien wat er beter is aan long polling ten opzichte van 'gewoon' polling. Bij polling wordt er een response gestuurd. Deze response is zo snel mogelijk, dus of met data, of er is geen nieuwe data. Long polling wacht tot er nieuwe data is. Is er nog geen data, dan ook geen response. Is er wel nieuwe data, dan krijg je ook de response. Zo snel als de response binnenkomt wordt er ook weer een nieuwe request gestuurd zodat de mogelijk nieuwe data weer zo snel mogelijk binnenkomt. Bij long polling is het echter wel zo dat een server soms denkt, of juist de client, dat de connection te lang open heeft gestaan, en deze gesloten wordt. Het gebruikt meer middelen dan bijvoorbeeld een websocket. Ook kan het zijn dat er meerdere poll requests open staan naar een server, en de volgorde van de berichten niet klopt.

Server Sent Events en Websockets

Server Sent Events en Websockets lijken veel op elkaar. Ook is er in dit geval één kopje voor de twee samen. Een aantal verschillen tussen de twee is dat SSE over HTTP gebruikt kan worden terwijl websockets hun eigen protocol hebben. Een verschil tussen de twee die echt een verschil maakt is wie requests en responses kan sturen. Bij SSE wordt er één keer een request gestuurd naar de server. Dit request is een aanvraag om te verbinden. Daarna kan alleen de server berichten terug sturen. De client kan geen berichten naar de server sturen. Dit is ook waar SSE voor gemaakt is. Websockets, die wel berichten kunnen sturen naar de server als er eenmaal een connectie is geopend, zouden in dit geval dan een overkill zijn. Er zijn nog wel andere voor en nadelen te benoemen, zoals dat SSE maar een maximaal open connecties mag hebben, maar ook hiervoor zijn oplossingen te bedenken. Echter is dit ook geen probleem voor deze applicatie.


Conclusie


Bronnenlijst 

Herrera, E. (2018, 4 mei). Getting data in realtime from MySQL with Java. Pusher. https://pusher.com/tutorials/realtime-mysql-java/

Kilbride-Singh, K. (2022, 17 oktober). WebSockets vs Long Polling. Ably. https://ably.com/blog/websockets-vs-long-polling

Pure Storage. (2021, 20 december). How Formula 1 Car Sensors Create Data at Every Turn. https://blog.purestorage.com/perspectives/how-formula-1-car-sensors-create-data-at-every-turn/

...