Server sent events

Vyřešeno1.32K zhlédnutíWebhosting#proxy PHP server sent events
0

Dobrý den,

zkouším na hostingu jednoduchý princip chatu pomocí Server Sent Events (SSE). Při testování na localhostu SSE funguje, ale po nahrání sem na hosting nikoliv.

Javascriptem vytvořím objekt EventSource a ten směřuje na PHP skript, který vrátí hlavičku:

header(‚Content-Type: text/event-stream;charset=UTF-8‘);

a pak skript obsahuje smyčku běžící např. 20 sekund (pak se ukončí a prohlížeč ho spustí znovu) a testující (např. každých 200 ms), zda jsou k dispozici nové zprávy (uložené v databázi v MEMORY úložišti). Pokud ano, pošle je do streamu (na výstup). Jenže ze streamu se již do prohlížeče nedostanou.

Je možné, že je u vás nějaká proxy, která výstup cachuje a zamezí tak průběžné zasílání zpráv v SSE streamu? Načtou se pouze při otevření spojení a pak už ze streamu nic nového nepřiteče (na localhostu však ano)

Chápu, že to není ideální přístup vzhledem k opakovanému dlouho běžícímu skriptu (20 sekund), ale na hostingu, kde nemám jak spustit websockets server, asi jinou možnost nemám.

Jedná se o stejný princip jako v tomto examplu https://github.com/lcherone/sse-chat-example

Díky

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
JŠ255861 Vybral nejlepší odpověď 17. 2. 2021
0

Dobrý večer.

Zkusil jsem, ale stejný problém. Zkusil jsem pak ještě jiný hosting a tam se to zase chová úplně jinak. Nevadí, nakonec použiju pro realtime buď službu Pusher nebo Ably.io, alespoň nebudu hosting trápit dlouho běžícími PHP skripty 🙂

Díky

Role: Zákazník
JŠ255861 Vybral nejlepší odpověď 17. 2. 2021
Prohlížíte 1 ze 3 odpovědí, klikněte zde pro zobrazení všech odpovědí.