Valós idejű kommunikáció a mobilfejlesztésben: mi ez, milyen protokollok és hogyan működik

Szerző: IT Sectr Megjelenés: 2026-06-02 Olvasási idő: 9 perc

A valós idejű kommunikáció a modern mobilalkalmazások elengedhetetlen része. A Grand View Research (2025) szerint a valós idejű technológiák piaca 2030-ra 52 milliárd dollárra nő. WebRTC, WebSocket és Socket.IO a három pillér, amelyekre a valós idejű csevegések, hívások és értesítések épülnek. A valós idejű fejlesztés a mobilalkalmazásokban az azonnali kommunikáció lehetőségeit nyitja meg.

Főbb pontok

  • WebSocket — egy teljes duplex protokoll a kétirányú adatcseréhez. Csevegésekben, játékokban, együttműködő szerkesztőkben használatos.
  • SSE (Server-Sent Events) — egy egyirányú adatfolyam a szervertől a klienshez. Egyszerűbb, mint a WebSocket, hírcsatornákhoz és árfolyamokhoz alkalmas.
  • WebRTC — egy technológia peer-to-peer audio/videó hívásokhoz. STUN/TURN-t és jelzőszervert igényel.
  • A valós idejű platformok (Socket.IO, Pusher, Ably, PubNub) egyszerűsítik a WebSocket integrációt és kész szerverinfrastruktúrát biztosítanak.
  • A STUN meghatározza az eszköz külső IP-címét a P2P-hez. A TURN továbbítja a forgalmat, ha a P2P nem lehetséges. A TURN drágább, de megbízhatóbb.

Valós idejű kommunikáció: WebSocket, SSE és Long Polling protokollok

A valós idejű kommunikáció olyan technológiák, amelyek minimális késleltetéssel teszik lehetővé az adatcserét a kliens és a szerver között. A fő protokollok: WebSocket, SSE (Server-Sent Events), Long Polling és Short Polling. Mindegyiknek megvan a maga területe: WebSocket a kétirányú kommunikációhoz, SSE az értesítésekhez, Long Polling a régebbi böngészők fallbackjeként. A valós idő a mobilfejlesztésben különösen fontos: a felhasználók az üzenetek és értesítések azonnali kézbesítését várják. A mobilfejlesztésben a kommunikáció pontosan ezekre a protokollokra épül.

WebSocket vs SSE

WebSocket egy teljes duplex protokoll (kliens ↔ szerver). A kézfogás (HTTP Upgrade) után a kapcsolat nyitva marad. A fejlécek minimálisak (2 bájt vs HTTP fejlécek). Csevegésekben (WhatsApp, Telegram), játékokban, valós idejű kereskedésben használatos. SSE egy egyirányú protokoll (szerver → kliens). A kliens feliratkozik az eseményekre, és egyetlen HTTP-kapcsolaton keresztül kapja azokat. Az SSE egyszerűbb, könnyebben skálázható (sima HTTP), ideális Twitter-hírfolyamokhoz, árfolyamokhoz, push értesítésekhez.

Long Polling egy olyan technika, ahol a kliens HTTP-kérést küld, és nyitva tartja, amíg a szerver adatot nem küld, vagy időtúllépés nem történik (30–60 mp). Az adatok fogadása után a kliens azonnal új kérést nyit. A Long Polling a WebSocket fallbackje. Short Polling — a kliens minden N másodpercben lekérdezi a szervert. A legegyszerűbb, de nem hatékony (a legtöbb kérés üres választ ad vissza).

Jelzőszerver

A P2P-kapcsolat létrehozása előtt az eszközöknek szükségük van egy Jelzőszerverre — egy köztes szerverre az SDP-ajánlatok és ICE-jelöltek cseréjéhez a felek között. A jelzés megvalósítható WebSocket, SSE vagy bármely más protokoll segítségével. A kapcsolat létrejötte után a jelzés már nem vesz részt a médiaforgalom továbbításában.

WebRTC: valós idejű kommunikáció audio- és videóhívásokkal

WebRTC (Web Real-Time Communication) egy nyílt technológia P2P audio/video/adat számára. Böngészőkben és natív alkalmazásokban (iOS, Android) működik. A WebRTC tartalmazza: getUserMedia (kamera/mikrofon hozzáférés), RTCPeerConnection (P2P kapcsolat), RTCDataChannel (adatátvitel). A WebRTC lehetővé teszi a valós idejű kommunikációt a mobilalkalmazásokban — a mobilalkalmazásokban a kommunikáció további bővítmények nélkül működik.

WebRTC folyamat

Az A fél létrehoz egy RTCPeerConnection-t és egy SDP-ajánlatot. 2. lépés: Az ajánlat elküldésre kerül a Jelzőszerveren keresztül a B félnek. 3. lépés: A B fél megkapja az ajánlatot, létrehoz egy SDP-választ és visszaküldi. 4. lépés: Mindkét fél összegyűjti az ICE-jelölteket (címeket a kapcsolathoz), és kicseréli azokat a Jelzésen keresztül. 5. lépés: Az ICE-keretrendszer kiválasztja a legjobb útvonalat (P2P vagy TURN-on keresztül). A kapcsolat után — a médiaforgalom közvetlenül áramlik.

SDP (Session Description Protocol) egy szöveges protokoll, amely leírja a kapcsolat paramétereit: kodekek, IP-címek, portok. ICE Candidate egy javaslat a STUN/TURN-tól: "Ezen a címen megtalálható vagyok". Minél több jelölt van, annál nagyobb a P2P esélye.

Paraméter Socket.IO Pusher Ably PubNub
TípusKönyvtár (szerverrel)SaaSSaaSSaaS
ProtokollWebSocket + HTTP fallbackWebSocketWebSocket + SSEWebSocket
Ingyenes limitKorlátlan (saját szerver)200k üzenet/nap50k üzenet/hó100 üzenet/mp
Globális replikációNem (saját szerver)IgenIgen (7 régió)Igen
Kézbesítési garanciaACK + időtúllépésWebSocket (best effort)Exactly-onceAt-least-once
NépszerűségNagyon magasMagasNövekvőMagas

Socket.IO a vezető a startupok számára: Ön irányítja a szervert, nincsenek korlátok. Pusher és Ably olyan termékekhez valók, ahol nem akar infrastruktúrát kezelni. PubNub IoT-hez és globális közönséghez való. Az IT Sectr a Socket.IO-t ajánlja saját backend-del rendelkező projektekhez, a Pusher-t gyors prototípusokhoz, az Ably-t pedig megbízhatósági követelményekkel rendelkező vállalatoknak.

Platformok: Socket.IO, Pusher, Ably, PubNub

A valós idejű platformok kész szerverinfrastruktúrát biztosítanak a WebSocket és SSE számára. Kiküszöbölik a saját valós idejű szerver írásának, a WebSocket-kapcsolatok kiegyensúlyozásának és skálázásának szükségességét. A platform kiválasztása a költségvetéstől, a megbízhatósági követelményektől és a szerver kezelésére való hajlandóságtól függ. A mobilfejlesztésben a valós időhöz a platformok kész kliens SDK-kat és infrastruktúrát kínálnak.

Socket.IO

Socket.IO egy könyvtár a Node.js és kliensek (iOS, Android, web) számára. WebSocket-alapú, de HTTP-pollingot használ fallbackként. Támogatja a szobákat, névtereket, ACK-visszaigazolásokat. Fejlesztéshez — socket.io-client-java (Android) és socket.io-client-swift (iOS). A mobilalkalmazásokban a Socket.IO-n történő kommunikáció megbízhatóan kezelhető az automatikus újracsatlakozásnak köszönhetően.

Pusher és Ably

Pusher egy valós idejű SaaS platform. Egyszerű integráció: hozzon létre egy csatornát és iratkozzon fel az eseményekre. Pusher Channels az értesítésekhez, Pusher Beams a push értesítésekhez. Az Ably vállalati szintű, globális replikációval 7 adatközpontban. Garantálja az exactly-once kézbesítést. Támogatja az SSE-t, WebSocket-et, MQTT-t az IoT-hez. Mindkét platform megoldja a kommunikációs feladatokat a mobilfejlesztésben anélkül, hogy szerverkódot kellene írni.

Valós idejű infrastruktúra: STUN, TURN, Signaling a WebRTC-ben

STUN (Session Traversal Utilities for NAT) egy szerver, amely segít az eszköznek felfedezni a külső IP-címét és portját a NAT mögött. Az eszköz STUN-kérést küld, a szerver válaszol: "203.0.113.5:45678-ként látszódik". A STUN ingyenesen használható (Google STUN: stun.l.google.com:19302). A valós idejű infrastruktúra összefüggésében a STUN az első lépés a P2P-csatorna létrehozásához.

STUN vs TURN

TURN (Traversal Using Relays around NAT) egy relészerver, amely továbbítja a médiaforgalmat, ha a P2P-kapcsolat nem lehetséges (pl. mindkét eszköz szimmetrikus NAT mögött van). A TURN szerver sávszélességet fogyaszt, ezért drága. A WebRTC-ben az ICE-keretrendszer először a P2P-t próbálja, majd a TURN-t végső megoldásként. A valós idejű fejlesztéshez TURN szükséges a mobilalkalmazásokban történő kommunikációhoz vállalati hálózatokon keresztül történő csatlakozáskor.

ICE (Interactive Connectivity Establishment) egy keretrendszer, amely összegyűjti az összes lehetséges kapcsolati útvonalat (helyi IP, külső IP STUN-on keresztül, TURN-relék), és kiválasztja a legjobbat. ICE Candidate minden lehetséges útvonal. Minél több jelölt van, annál nagyobb a sikeres P2P valószínűsége.

Peer-to-Peer

P2P egy közvetlen kapcsolat két eszköz között, közvetítő szerver nélkül a médiaforgalom számára. A P2P csökkenti a késleltetést (< 100 ms) és a szerverköltségeket. Hátrányok: gyenge NAT-védelem, STUN/TURN szükségessége. A WebRTC alapértelmezés szerint P2P-t használ.

P2P és ICE

Peer-to-Peer (P2P) egy olyan architektúra, ahol az adatok közvetlenül az eszközök között kerülnek átvitelre. A valós idejű kommunikáció összefüggésében a P2P-t a WebRTC-ben használják a késleltetés minimalizálására. Az ICE (Interactive Connectivity Establishment) az a mechanizmus, amely megtalálja a legjobb útvonalat egy P2P-kapcsolat számára. Fejlesztés szempontjából a P2P az optimális módja a kommunikáció megszervezésének a mobilalkalmazásokban valós időben.

Hogyan működik az ICE

Az ICE három típusú ICE Candidate-et gyűjt: 1) host (helyi IP), 2) srflx (STUN-on keresztül), 3) relay (TURN-on keresztül). Az összes jelöltet rendezik, és az ICE megpróbál kapcsolódni mindegyikhez prioritási sorrendben. Az első sikeres kapcsolat kerül felhasználásra. Ha a P2P nem lehetséges, a TURN kerül használatra (de ez drága).

Gyakran ismételt kérdések

Mikor használjunk WebSocket-et és mikor SSE-t?

WebSocket a kétirányú kommunikációhoz mobilalkalmazásokban (csevegés, játékok, közös szerkesztés). SSE az egyirányú értesítésekhez a szervertől a kliens felé (hírcsatorna, árfolyamok). A WebSocket összetettebb, az SSE egyszerűbb és könnyebben skálázható.

Mik azok a STUN és TURN szerverek a WebRTC-ben?

STUN egy szerver, amely segít közvetlen P2P-kapcsolat létrehozásában az eszköz külső IP-címének és portjának meghatározásával. A TURN egy relészerver, amely továbbítja a forgalmat, ha a P2P nem lehetséges (szimmetrikus NAT mögött). A TURN drágább, mert szerver sávszélességet fogyaszt.

Melyik valós idejű platformot válasszuk egy startup számára?

Socket.IO egyszerű csevegésekhez és értesítésekhez, ha saját szervere van. Pusher a gyors induláshoz szerverinfrastruktúra nélkül. Ably a vállalati követelményekhez globális replikációval. Az IT Sectr a Socket.IO-t ajánlja a legrugalmasabb és ingyenes megoldásként a mobilfejlesztésben történő kommunikációhoz.

Mi az a Jelzőszerver a WebRTC-ben?

A Jelzőszerver egy köztes szerver, amelyen keresztül két eszköz SDP-ajánlatokat és ICE-jelölteket cserél a WebRTC-kapcsolat létrehozásához. A csere után a médiaforgalom közvetlenül P2P áramlik, megkerülve a jelzést.

Mi a különbség a Short Polling és a Long Polling között?

Short Polling — a kliens folyamatosan lekérdezi a szervert rögzített időközönként (még akkor is, ha nincs adat). Long Polling — a kliens kérést küld, és vár, amíg a szerver adatot küld vagy időtúllépés történik. A Long Polling hatékonyabb, de még mindig rosszabb, mint a WebSocket.

Összefoglalás

  • WebSocket a fő protokoll a valós idejű kommunikációhoz mobilalkalmazásokban. SSE a szervertől érkező egyirányú értesítésekhez.
  • WebRTC egy technológia P2P audio/videó hívásokhoz. Jelzőszervert, STUN-t és opcionálisan TURN-t igényel.
  • A Socket.IO a választás a saját szerverrel rendelkező startupok számára. A Pusher és az Ably SaaS-megoldások szerverinfrastruktúra nélkül.
  • STUN egy ingyenes szerver a külső IP meghatározásához. A TURN egy fizetős relé azokban az esetekben, amikor a P2P nem lehetséges.
  • Az ICE-keretrendszer összegyűjti az összes kapcsolati jelöltet és kiválasztja a legjobb útvonalat (P2P > TURN).
  • Long Polling és Short Polling elavult technológiák a mobilfejlesztésben történő kommunikációhoz. Csak fallbackként használja őket.
  • Jelzőszerver szükséges az SDP és ICE-jelöltek cseréjéhez a P2P-kapcsolat létrehozása előtt.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése