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.