Seite 1 von 2

Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 20:51
von Piru
Hallo,

Ich versuche mich zur Zeit selbst an Javascript/PHP und frag mich, wie Sotrax diesen Chat hinbekommen hat. Mein experimenteller Chat läuft bisher ja auch, nur er aktualisiert sich über HTML, und das führt zu hässlichem Flackern. Mir ist auch klar, dass der FW-Chat das insofern anders gelöst hat, als dass durch eine JS-Funktion dem Chattext einfach nur Zeilen hinzugefügt werden, aber mir stellen sich die Fragen - woher und wie weiß die Engine, dass eine neue Zeile da ist?
Ich hab mir natürlich die Quelltexte in javascript angeschaut, mit denen Sotrax den FW-Chat gebaut hat, steige aber nicht hinter, wie genau das nun funktioniert. Ich sehe, dass in refresh.php ein Objekt erzeugt wird, welches in der Funktion pollStatus() eine Datei "rel_files/84417.htm" (ist das immer die selbe?) öffnet, und dann das chatupdateFrame aktualisiert. Von da aus wird dem chatText dann das zugefügt, was noch nicht da ist. Irgendwo muss da wohl irgendein für mich nicht sichtbarer PHP-Quelltext dahinterstehen, der sagt, welche Zeilen bereits da sind.

Vorrausgesetzt, diese Diskussion darf hier geführt werden - kann mir jemand erklären, wie das ganze aufgebaut ist?

Liebe Grüße,
Piru

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:07
von ShadowFlame
Das ganze scheint über Ajax gelöst zu sein.

Code: Alles auswählen

XMLHttpRequest
Was mich eher wundert. War das schon immer so?

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:13
von Teodin
ShadowFlame hat geschrieben:Das ganze scheint über Ajax gelöst zu sein.

Code: Alles auswählen

XMLHttpRequest
Was mich eher wundert. War das schon immer so?
Ich glaube nicht, Tim.

Spaß beiseite: Wikipedia sagt, es gäbe Ajax erst seit 2005. Freewar ist ja schon älter.

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:19
von ShadowFlame
Wer oder was ist Tim?
Dann hat Sotrax das wohl bei einem Update eingebaut :|

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:21
von Elektro-Sapper
Hat er in der Tat getan. Steht irgendwo in den Ankündigungen, läuft über Ajax.

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:25
von Piru
Wenn du das Update meinst... da gabs Ajax ja auch noch nicht.
Eigentlich kann nur Sotrax sagen, wie er es gemacht hat - wäre schön wenn er es täte :)

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:26
von Adrion

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:38
von Latzhosenträger
HTTP ist nicht für Chats vorgesehen, jede Lösung ohne Ajax ist Schwachsinn. *meine Meinung*
Für alles weiter würd ich Google empfehlen.

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:38
von Dimi
ShadowFlame hat geschrieben:Wer oder was ist Tim?
Dann hat Sotrax das wohl bei einem Update eingebaut :|
[OT]

"Wenn Tim eine Frage stellt, etwa nach dem Schema „[…] meinst du, die Dinger heißen […], weil man damit […]?“, antwortet Al mit „Das glaub' ich nicht, Tim!“."
http://de.wikipedia.org/wiki/H%C3%B6r_m ... C3%A4mmert
[/OT]

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 16. Nov 2009, 21:46
von Teodin
ShadowFlame hat geschrieben:Wer oder was ist Tim?
http://www.youtube.com/watch?v=gmgpK7fhzos
Latzhosenträger hat geschrieben:HTTP ist nicht für Chats vorgesehen, jede Lösung ohne Ajax ist Schwachsinn. *meine Meinung*
Für alles weiter würd ich Google empfehlen.
Nunja, wenn Ajax als solches jünger ist als Freewar, wäre es ohne Zeitfluktuationsvakuum oder Fluxkompensator in einem Delorian wohl nicht möglich, dass bereits Freewars Ur-Chat mit Ajax lief.

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 17. Nov 2009, 00:15
von Daki
Also ich vermute, dass wenn Sotrax den Chat auf Ajax umgestellt hat, er es nicht angekündigt hat. Und soweit ich weiß läuft der auch über Ajax.. sonst würde er ziemlich hässlich flackern.

Da wird im Hintergrund wahrscheinlich immer ein JS laufen (setIntervall), dass die DB Einträge holt (http://welt4.freewar.de/freewar/internal/chattext.php) und dann wird halt geprüft werden, was noch nicht im Frame steht... das wird per Ajax nachgeladen. (So könnt ichs mir zumindest vorstellen und so habe ich auch meinen Chat vor kurzem realisiert^^)

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 17. Nov 2009, 00:23
von sgr011566
Daki hat geschrieben:Also ich vermute, dass wenn Sotrax den Chat auf Ajax umgestellt hat, er es nicht angekündigt hat.
Stimmt, hat er überhaupt nicht angekündigt.
Adrion hat geschrieben: viewtopic.php?f=8&t=10301&hilit=ajax
Thread lesen muss echt wehtun, oder?

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 17. Nov 2009, 15:26
von Daki
Ja stimmt .. habe den Thread nicht durchgelesen, habe ihn nur teilweise überflogen und da ich keine konkrete Antwort auch die Frage gefunden habe, habe ich meinen Senf dazugegeben, wenns recht ist sgr :roll: .

Außerdem gehe ich davon aus, dass Sotrax nicht alles ankündigt was er an der Engine verändert (so hat sich zB auch der Quelltext von map.php in den letzten Jahren verändert und das hat er auch nicht angekündigt)

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 17. Nov 2009, 16:27
von Sotrax
Der Chat wurde in der Tat irgendwann mal ohne Ankündigung auf einen Ajax-Chat umgestellt. Früher hat der FW Chat aber auch nicht geflackert, da wir versteckte Frames zur Aktualisierung verwendet haben, was genauso ging wie mit Ajax, aber den großen Hacken hatte, dass es im IE dann immer so "klickte", wenn man Sounds an hatte :)

Re: Wie funktioniert der FW-Chat eigentlich?

Verfasst: 17. Nov 2009, 16:41
von Buh
Wenn ich von der Arbeit aus mit dem IE on gehe, klickt das immernoch ... ;)