Mailinglisten-Archive |
Hallo Harald, mal sehen welche Fragen ich beantworten kann: > -) kann man das wo testen? Leider nein da es in einer geschlossenen Community läuft. Aber für weitere Ideen etc. kannst du dir mal phpMyChat ansehen. > -) Ist ein Lesethread ein Frame der alle x Secunden refresht? > -) was genau ist HTML Streaming ? Nein das ist ein PHP Script das in einem Frame vom Browser geöffnet wird und quasi in einer Endlosschleife läuft aber natürlich mit sleep oder usleep. In der Schleife wird bei jedem Durchlauf die neuen an den Browser zu schickenden Daten ermittelt und diese ausgegeben und der ausgabepuffer geleert. Um die Verbindung aufrecht zu erhalten sollte man alle x Sekunden (z.B 120) inaktivität (=keine Ausgabe) eine "leere" Ausgabe (z.B. HTML Kommentar) zum Browser schicken. Alternativ kann man mit einen Hidden Frame arbeiten, dort auch Streamen aber die Scriptlaufzeit begrenzen und dann automatisch per JavaScript reloaden. Die Ausgaben werden dann duch JavaScript Anweisungen im Hidden Frame in den Ausgabeframe geschrieben. Die Techniken kann man sich in phpMyChat bzw. auch in www.chatcity.de o.ä. ansehen. > -) Wie merk ich mir die Position in der Datei? Schreibst du das > in die Datei selber? Das ganze ist bei mir noch etwas komplexer als ich es beschrieben hae weil noch viel mehr geht. Aber kurz: In der Endlosschleife musst du dir nur den Filepointer merken. so z.B. $path="pfad zur datei"; $fp=filesize($path); while(!connection_aborted()) { $f=fopen($path,'r'); fseek($f,$fp); while (!feof($f)) { $s=fgets($f,4096); if ($s) { $s=nl2br($s); echo "$s\n"; flush(); } } $fp=ftell($f); fclose($f); usleep(200); } > -) Und wenn es mehrere Räume gibt, dann gibt es pro Benutzer > mehrere TXT-Dateien oder?? Prinzipiell gilt bei der Technik: pro Chatfenster pro User eine Datei. Also wenn er immer nur in einem Raum sein kann hat jeder User immer nur eine Datei gleichzeitig. Wobei sich die Datei beim Raumwechsel bei mir z.B. ändert, d.h. alte Datei wird gelöscht neue Datei wird erzeugt. Gruß, Andreas
php::bar PHP Wiki - Listenarchive