Osaisiko joku selventää;
Html-sivuistahan voidaan tehdä
automattisesti päivittyviä
(esimerkiksi chat-sovellukset).
(en tarkoita sitten client pullia!)
Perustuuko tällainen dynaamisuus
- Server Pushiin
- chunked encodingiin
- vaiko johonkin muuhun
olen saanut onnistumaan tällaisen sivun
tekemällä PHP-skriptin...
Mutta en tiedä mihin se perustuu...
MIKSI SE TOIMII?
Periaatteessa skriptiin ei tarvitse määritellä kuin ikuinen silmukka, joka tietyin ehdoin lisää Clientille tavaraa.
Olen lukaissut alan kirjoja...
mutta siellä vain höpistään kaikista HTTP-otsakkeista ja muista...
Haluaisin siis selvyyden,
että mitkä ovat tällaisen dynaamisuuden
toteutustavat ja mihin ne perustuu.
kiitos
Html-sivuistahan voidaan tehdä
automattisesti päivittyviä
(esimerkiksi chat-sovellukset).
(en tarkoita sitten client pullia!)
Perustuuko tällainen dynaamisuus
- Server Pushiin
- chunked encodingiin
- vaiko johonkin muuhun
olen saanut onnistumaan tällaisen sivun
tekemällä PHP-skriptin...
Mutta en tiedä mihin se perustuu...
MIKSI SE TOIMII?
Periaatteessa skriptiin ei tarvitse määritellä kuin ikuinen silmukka, joka tietyin ehdoin lisää Clientille tavaraa.
Olen lukaissut alan kirjoja...
mutta siellä vain höpistään kaikista HTTP-otsakkeista ja muista...
Haluaisin siis selvyyden,
että mitkä ovat tällaisen dynaamisuuden
toteutustavat ja mihin ne perustuu.
kiitos
Vastaukset 3
Vanhimmat
Toiminta perustuu JavaScriptiin, sillä pystyy tekemään refreshin, mutta pitää ottaa huomoon, että jos käyttää proxya, tai vastaavaa voi olla että pitää HTTP headereihin määrittää, että ei käytetä cachea, muuten scripti voi palauttaa koko ajan saman sivun.
Chatit tehdään yleensä Appletteina.
Miten sait ton tehtyä .php:lla? Olen kokeillu itsekin saada väsätyks jonkun näköstä tzättiä, mutta huonolla menestyksellä. Olisiko mahdollista saada pieni pätkä koodista, jos vaikka hieman selkeyttäis ongelmaa.
No ensinnäkin:
- pavelimena oli apache
- PHP on toimittava Apachen moduulina
skripti on hyvin yksinketainen:
ensin on määriteltävä
set_time_limit(0);
jotta skripti saa pyöriä rauhassa
tehdään lähes ikuinen luuppi:
while(!connection_aborted()) {
clearstatcache ();
[Tähän sitten se koodi,
joka tulostaa asiakkaalle
viestit]
flush();
sleep(1);
}
clearstatcache on tärkeä,
jos ohjelmassa käytetään tiettyjä tiedostonkäsittelyrutiineja.
(Saadaan varmasti ajanmukainen tieto,
eikä välimuisti sotke toimintaa)
Käytetään siis HTTP/1.1 -protokollan
chunked tranfer-encodingia hyväkseen.
Tiedon lähetys asiakkaalle ei lopu,
vasta kun asiakas lopettaa yhteyden.