WebSockets

MVOP4 WBF

Bc. Matěj Cajthaml ©

Smíchovská střední průmyslová
škola a gymnázium

icon

Jaké protokoly používáme na webových stránkách?

WebSockets

WebSockets

  • protokol postaven na TCP
  • real-time komunikace
  • HTTPS je oneway a neexistuje přímá cesta ze serveru na klienta

Obcházení omezení HTTP

Práce

Jak bychom mohli jednocestnou komunikaci zneužít k dvoucestné komunikaci?

UDP vs. TCP

Idea WebSockets

  • přímá komunikace mezi klientem a serverem
  • komunikuje se pomocí zpráv (zejména textových)
  • zprávy zpracovávají obě strany dle potřeby
  • server ví, kdo je klient a udržuje si jeho socket

Klíčové poznatky

  • pro nějaké zprávy se stále používá HTTP/s
  • při handshake se prvně mění protokol z HTTP na WebSocket
  • WebSocket (ws) má zabezpečenou verzi (wss)
  • prohlížeč musí protokol podporovat

Na klientovi

Na serveru

Můžeme posílat i objekty místo stringů?

Nástavby

Co když prohlížeč WebSockety nepodporuje?

Existují knihovny, které používají WS právě tehdy, když je k dispozici, a když není, používají alternativu (HTTP/S).

Alternativy WebSockets

  • polling — klient se ptá serveru, zda má nová data periodicky
  • long polling — klient se ptá serveru, zda má nová data, a server odpoví, až když má data nebo po určité době
  • server-sent events — server posílá klientovi data, když je má (klidně vícekrát)

Socket.io

  • podpora místností a jmených prostorů
  • podpora přihlašování
  • automatické přihlašování

Chatovací aplikace

Práce

Vytvořte chatovací aplikaci — stránku s jedním chatem, kam může kdokoliv, kdo se připojí, psát.

IO hra

Práce

Vytvořte jednoduchou IO hru.

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/