Sobes.tech
Junior

Mire használják a socketeket a webfejlesztésben?

sobes.tech MI

Válasz az MI-től

Kétirányú adatcsere a kliens (böngésző) és a szerver között valós idejű kommunikációban. A hagyományos HTTP-től eltérően, ahol a kliens indítja a kérést és a szerver válaszol, a socketek lehetővé teszik, hogy a szerver bármikor adatokat küldjön a kliensnek előzetes kérés nélkül.

Használati példák:

  • Csevegőalkalmazások: Az üzenetek azonnali kézbesítése a felhasználók között.
  • Online játékok: A játékosok állapotának és a játék világának szinkronizálása valós időben.
  • Kereskedelmi platformok: Részvény- vagy kriptovaluta árfolyamok frissítése oldal újratöltése nélkül.
  • Értesítések: Push értesítések küldése a felhasználóknak, amikor a rendelés állapota változik, új üzenet érkezik stb.
  • Dokumentumok közös szerkesztése: A változtatások szinkronizálása több felhasználó között.

A socketek TCP protokollon alapulnak, és általában a WebSocket protokollt használják, amely biztosítja a folyamatos kapcsolatot a kliens és a szerver között az első HTTP kézfogás után.

// Példa klienskód a WebSocket kapcsolat létrehozására
const ws = new WebSocket('ws://localhost:8080'); // WebSocket szerver címe

ws.onopen = () => {
  // Kapcsolat létrejött
  console.log('WebSocket kapcsolat létrejött');
  ws.send('Szia, szerver!'); // Üzenet küldése a szervernek
};

ws.onmessage = (event) => {
  // Üzenet érkezett a szervertől
  console.log('Üzenet a szervertől:', event.data);
};

ws.onclose = (event) => {
  // Kapcsolat bezárult
  if (event.wasClean) {
    console.log(`Tiszta zárás, kód=${event.code} ok=${event.reason}`);
  } else {
    console.error('Kapcsolat megszakadt');
  }
};

ws.onerror = (error) => {
  // Hiba a kapcsolat során
  console.error('WebSocket hiba:', error);
};

A WebSocket kapcsolat alacsony overhead költségekkel rendelkezik a folyamatos HTTP-kérésekhez képest (polling vagy long polling), így hatékonyabb az olyan alkalmazások számára, amelyek gyakori adatcserét igényelnek valós időben.