Hallo!
Also ich hab einen Chat in PHP gebastelt, arbeitet mit einer Datenbank, nutzt kein meta refresh zum aktualisieren der Nachrichten sondern holt die Nachrichten von der Datenbank im Millisekunden-Takt. (flush(), usleep())Das Problem: Da ja die Verbindung nicht abbrechen darf, steht immer brav in der Statuszeile Öffne Seite bla?bla=bla... soweit so gut.
gut nennst Du das? Dazu ist HTTP ganz und gar nicht gedacht und nicht geeignet. Ganz zu schweigen von Deinem Server, den für nichts und wieder nicht derart zu belasten kann es nicht sein.
Nur dann aufeinmal steht in der Statusleiste Fertig, es kommen keine neuen Nachrichten mehr an. Nur wenn man etwas erneutes schreibt, beginnt der Stream (machmal) wieder neue Daten zu holen.
Das liegt an dem Timeout, von wem auch immer, da gibt es einige Programme die was dagegen haben das Du sowas machst!
Das PHP-Script bricht dabei allerdings nicht ab, alle geschriebenen Nachrichten werden richtig gespeichert.
Das bricht auch irgendwann ab.
Nur der Browser macht, was wer will. Kann man irgendwie eine Verbindung erzwingen? (Bei mehrenen Testern mit IE 5 & 6)
zum Glück nicht! Sowas funktioniert nicht mit HTTP. Es gibt Möglichkeiten das ganze z.B. über Aktualisierungen zu machen, aber das erzeugt zig mal so viel Traffic und Last wie eine richtige Lösung(z.B. IRC), HTTP ist hierfür schlichtweg das falsche Protokoll. Wenn es denn im Browser sein muß, dann mit Flash oder Java, die eigene Socket-Verbindungen über andere Protokolle aufbauen können, aber das ist nicht ganz so einfach(ich kann es nicht).
Aber vermutlich wird Cheatah noch was dazu sagen *g*
Grüße
Andreas