Tovább a tartalomhoz

SSE (Server-Sent Events)

A Server-Sent Events egyirányú HTTP-folyam: a kiszolgáló küld, a kliens figyeli. A Restorm teljes értékű kéréstípust csinál belőle.

Jobb kattintás a projektfában ▸ Hozzáadás ▸ SSE-kérés.

Csatlakoztatott SSE-lap: jobb oldalon minden beérkezett esemény megjelenik az időbélyegével, a nevével („ping”) és a hasznos terhével (egy sorszámmal).

MezőSzerepe
URLA folyam végpontja
FejlécekA megnyitó kérés fejlécei — a hitelesítés is itt utazik
Utolsó eseményazonosítóA Last-Event-ID fejléc kezdőértéke, amely csak az első kapcsolódáskor kerül elküldésre

A Restorm az EventSource specifikációját követi: elemzi az event:, data:, id: és retry: mezőket, és minden beérkezett eseményt megjelenít az időbélyegével, a nevével és a hasznos terhével — egy eseményre kattintva kibontható a teljes tartalma. Az azonosítót pedig megőrzi az újrakapcsolódáshoz.

Megszakadás esetén az újrakapcsolódás automatikusan újraküldi a legutóbb kapott azonosítót a Last-Event-ID fejlécben — ez teszi lehetővé, hogy a kiszolgáló onnan folytassa, ahol abbahagyta.

A folyam csak fogadásra szolgál: a kapcsolat megnyitása után nincs mit küldeni.

Két művelet: SSE-kapcsolat (connected és message kimenettel, fogadott eseményenként egy kibocsátással) és SSE-kapcsolat bezárása. Lásd: Kapcsolatok és folyamok.

A szokásos minta: meg kell nyitni a folyamot, HTTP-hívással ki kell váltani az üzleti műveletet, majd egy állítással ellenőrizni, hogy az elvárt esemény valóban megérkezik a message portra.

Három cél: cURL, a böngésző EventSource API-ja, Python (requests folyam módban).