Av Robert Fevang Johansen
Julenissen har selvfølgelig sin egen app, slik at han enkelt kan kommunisere med alvene på bakken mens han er ute og leverer pakker verden over. Da er det kritisk at han får beskjeder lynraskt hvis uvær eller andre uforutsette hendelser nærmer seg. Slik kan Nissen svinge unna i siste liten og fortsette leveransen uten problemer.
For at Nissen skal få til dette, bruker de websockets.
Websockets fungerer litt annerledes enn vanlige HTTP-forespørsler, selv om det faktisk starter der. Det hele begynner med et "håndtrykk" (handshake) via HTTP. Når serveren (verkstedet) godtar dette, oppgraderes koblingen til en åpen, toveis kommunikasjonskanal.
Den store fordelen? Etter håndtrykket slipper man å sende store "HTTP-headers" (meta-data) frem og tilbake hver eneste gang. Linjen holdes åpen, og da går datautvekslingen lynraskt!
Dette betyr at når Julenissen trykker på "Levert pakke hos Jens", får alvene på Nordpolen beskjed umiddelbart. Det samme gjelder motsatt vei: Hvis tåken over Tønsberg begynner å tykne til, får Nissen beskjed med én gang, slik at han kan svinge rundt og levere i Sandefjord først, før turen går trygt tilbake til Tønsberg.
Vil du prøve selv? Sjekk ut socket.io for å komme enkelt i gang.
Hvis du skriver i Python, kan jeg varmt anbefale websockets sammen med FastApi.
Bildet er pyntet på med Nano Banana, via en tegning jeg selv ikke var så stolt av.