Deus Figendi: Chatprogramm

Beitrag lesen

Man sollte imho das ganze nicht statisch halten... wenn viele neue Zeilen pro Request ankommen sollte man die Frequenz erhöhen, wenn selten mal jemand was schreibt reicht ggf. auch 1/min oder so. Ich würde einfach auf Serverseite einen Befehl ergehen lassen wann der Client das nächste Mal fragen soll und der Client kann das dann ja ggf. ignorieren (Benutzer stellt die Rate händisch hoch oder runter).
Oder so

Alternative könnte vielleicht sein, dass der Server die Antwort einfach zurück hält.
Was ist denn ein üblicher timeout? 10 Sekunden? 30 Sekunden? Ich kann mir das so vorstellen:
Client setzt AJAX-Request ab
Server guckt ob er was zum Schicken hat.
Falls ja schickt er es
Falls nicht wartet er ob innerhalb von $timeout noch was rein kommt und falls nicht antwortet er dem Client "is nix". Wenn in der Zeit was rein kommt schickt er es natürlich sofort.
Der Client bekommt seine Antwort, stellt sie dar und schickt GLEICH einen neuen Request.

So lange nichts im Chat passiert ist die Request-Frequenz gleich 1/$timeout wenn viel rein kommt fragt der Client ständig nach. Wenn der Server mal nicht mehr mit kommt (zu viele User oder so) verlängern sich die Request-Zeiten automatisch, da der Server zum Antworten länger braucht.

Im Hintergrund würde ich es aber ggf. tatsächlich mit Jabber realisieren, es gibt glaube ich sogar irgendwo HTTP/XMPP-Bots. Falls nicht sind Jabber-Clients recht einfach zu programmieren (im Gegensatz zu den Servern ^^).
Der HTTP-Server wäre dann einfach ein Bot in einem Jabber-MUC.

--
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(