phpbar.de logo

Mailinglisten-Archive

[php] Re: OT PHP Chat..

[php] Re: OT PHP Chat..

Nils Meyer php_(at)_phpcenter.de
Tue, 16 Oct 2001 14:50:22 +0200


Hallo,

Am Dienstag, 16. Oktober 2001 um 11:15 schrieb Marco Kaiser:

> Ok also der Chat soll über eine MYSQL DB gehen aber ich möchte keine
> HTML Seite haben die sich alle 2sec refresht.
> Da ja sonnst jedes mal die ganzen Texte geladen werden müssen.
> Drum nun meine Frage: "Wie schafe ich es das ich *realtime* neue Texte
> auf
> die Seite Flush()'e"? Bei einigen system habe ich das schon gesehen aber
> leider keine idee wie ich das realisieren könnte.

Ich  hatte  einen Ansatz der auf SHM basiert programmiert. Du brauchst
eine schleife die so lange läuft bis der User die Verbindung abbricht,
ausserdem  empfehle  ich eine Funktion zum ausgeben und zum verlängern
des  ausgegebenen  String,  da  der  IE  anscheinend  erst  ab  einer
bestimmten  Menge  weiter  ausgibt.  Hier  ein kleines Skelett für die
Ausgabe

<?php
ignore_user_abort(1);

function stream($text)
{
    while (sizeof($text) < 256)
    {
        $text .= " ";

    }

    print($text."\n");
    flush();
}

while (!connection_aborted())
{
    /*
     Hier jetzt die Nachrichten holen,
     formatieren und in einer Variable,
     sagen wir $output
    */

    stream($output);
    usleep(10000);  //ein  wenig  warten,  um die Serverlast gering zu halten
}
exit; //Beenden, eventuell "$user verlässt den Chat" usw. ausgeben
?>


Mit freundlichen Grüssen
Nils Meyer

-- 
Nils Meyer, Eichenweg 7, 21745 Hemmoor
Tel: 04771 - 68 98 80   | http://www.nmeyer.com   
Fax: 04771 - 68 97 90   | http://www.webmasterchannel.de
Mob: 0174 - 20 34 08 5  | mailto:meyer_(at)_wmc24.de



php::bar PHP Wiki   -   Listenarchive