"Stig Byriel" <fonzo@fonzo.dk> wrote in message
news:a0bvqp$2mhh$1@news.cybercity.dk...
> Jeg syntes det er for klodset at bruge metoden hvor man opdater hele chat
> vinduet hver fx. 5 sekund.
Alternativet til refresh er "streaming html".
Prøv fx. dette:
<?php
for ($i=1; $i<=10; $i++) {
echo "Linje $i<br>\n";
flush();
sleep(2);
}
?>
(Hvis jeg husker rigtigt)
Du vil se at teksten kommer frem, lidt af gangen.
I stedet for bare at vente to sekunder, og så sende noget mere, så kan
php-scriptet fx. overvåge en database:
<?php
// OBS: Pseudokode!
$lastcheck = time();
while(true) {
$nyt = hent_alt_nyt_siden($lastcheck);
$lastcheck = time();
if ($nyt) {
echo $nyt;
flush();
}
sleep(1);
}
Chat's lavet uden "smarte" ting som applets osv. er baseret på refresh,
eller det princip.
Denne artikel er meget interessant i denne sammenhæng:
http://phpbuilder.com/columns/luis20000724.php3
"Storing data in the client"
Ideen er, at dele din chat op i frames. Bla. en frame til at vise hvad folk
skriver, samt en usynlig frame. Det er den usynlige frame, som er "streaming
html". I stedet for at sende teksten direkte til den synlige frame, så
bliver der sendt javascript til den usynlige frame. Dette javascript
opdaterer så den synlige tekst.
Ret smart. :)
--
Mvh.
Niels Andersen