Data automatisch naar browsers
Loek Lemmens
24/10/2018 12:04:26Misschien een rare vraag maar stel je php functie veranderd de data van een array, variable of simple gezegt de output.
Is er dan een manier om deze vanauit de server te versturen naar de browsers, zonder dat de browser hierom vraagt dmv een ajax call?
Is er dan een manier om deze vanauit de server te versturen naar de browsers, zonder dat de browser hierom vraagt dmv een ajax call?
PHP hulp
22/12/2024 09:30:20Rob Doemaarwat
24/10/2018 12:34:03Ik denk dat je iets als WebSockets bedoelt. Je browser opent dan een verbinding naar een continu lopend proces op de server. Beide partijen kunnen dan berichten naar elkaar pushen (dus niet pullen zoals met ajax). Uitleg voor de browser: https://developer.mozilla.org/en-US/docs/Web/API/WebSocket . Voor de server-in-PHP kant komt je al snel op Ratchet uit http://socketo.me/docs/hello-world .
Je kunt dan dus een PHP proces maken wat continu loopt (dit is wel een uitdaging ivm memory leaks, enz - het komt even iets nauwkeuriger als gewoon klungel-maar-raak PHP). Clients melden zich aan, versturen evt. berichten naar het proces, en op basis van deze berichten (of hele andere triggers) kun je ook weer info terugsturen naar een of meer (alle) clients (de proof-of-concept is vaak een chat applicatie: een client "upload" een bericht, en dat wordt naar alle andere clients gepushed).
Het is echter wel van een heel ander niveau dan een simpele ajax call. Je moet een hoop concepten snappen, secuur werken, en dus ook een "continu draaien proces" op je host in kunnen richten (en poorten open zetten, enz).
Je kunt dan dus een PHP proces maken wat continu loopt (dit is wel een uitdaging ivm memory leaks, enz - het komt even iets nauwkeuriger als gewoon klungel-maar-raak PHP). Clients melden zich aan, versturen evt. berichten naar het proces, en op basis van deze berichten (of hele andere triggers) kun je ook weer info terugsturen naar een of meer (alle) clients (de proof-of-concept is vaak een chat applicatie: een client "upload" een bericht, en dat wordt naar alle andere clients gepushed).
Het is echter wel van een heel ander niveau dan een simpele ajax call. Je moet een hoop concepten snappen, secuur werken, en dus ook een "continu draaien proces" op je host in kunnen richten (en poorten open zetten, enz).