Programmieren eines Chat für die Webseite

webdoktor

Angesehenes Mitglied
Hallo zusammen

Ich möchte gerne für dertausch | friends (www.dertausch.ch/friends) einen
Chat programmieren und zwar ein persönlicher Chat d.h.

Ein User sieht ein nettes Girl oder einen netten Jungen auf der Seite, nun
will er sie zum Chatt einladen. Gut er kann den Chatt-Knopf clicken und
sie kann annehmen.

Als der Chatt muss dann nur für sie zwei sein. Jetzt habe ich zwei Fragen,
wie würdet Ihr den Chatt realisieren und wie die Tatsache, dass der Chatt
nur für diese zwei Personen ist.

Also bei Chat habe ich mir an ein normalen HTML Chat gedacht welcher
mit reload die Seite neu lädt. Die Daten würde ich in eine MySQL Datenbank
schreiben und von dort auslesen.

Mir ist klar, dass dies nicht dies nicht die absolute beste Lösung ist, aber denke
es ist akzeptabel - oder?

Beim realiseren des persönlichen Chatt habe ich mir einfach gedacht, dass ich
die ID speichere von den beiden User und nur diese die Berechtigung zu diesem
Chatt haben.

Was ich mich nun noch frage, schreibe ich alle Chatts einfach in eine Tabelle
z.b friends_chatt und zeige dann einfach beim chatten das an wofür sie berechtigt
sind. Ist dies Performance mässig ein Problem? Hätte im Moment keine andere
Idee wie ich es sonst machen sollte.

Freue mich über Eure Feedbacks

Marco
 
da könntest du ohne probleme ein ajax script nehmen zb shoutboxmässig. das ganz einfach mit der uid verknüpfen dürfte auch kein prob sein....
 
datenbankbasierte chats = performancetot.
ein daemon als backend (bevorzugt in c++) und ein flash/ajax+js client im frontend wäre bei höherem chataufkommen angebracht
 
Hallo zusammen

so habe den Chat nun mal vorbereitet:

http://www.dertausch.ch/friends/chatt.php?id=1

es speichert alle einträge in der datenbank.. nun mache ich das
im moment mit reload also es flakert immer einwenig. ist das ein
grosser aufwand dies nun mit ajax umzusetzen.

der chatt zeigt leider nichts an wenn man auf senden klickt da man
an nicht an der plattform angemeldet ist. aber sonst funktioniert es
ganz gut... einfach noch das flakern..

könnte mir da evt. jemand helfen das in AJAX umzusetzen..

freue mich auf eure antworten.

marco
 
Im Augenblick ist die Seite als ein dreiteiliger Frame, es sieht aber aus, als ob das ganze Frameset jedesmal neu geladen wird.

Mach doch mal eine einzige Seite draus und bette in diese ein iframe-Element ein. Dann ist zwar die Größe starr, aber Du kannst die Box ja nach oben verschieben. Womöglich verschwindet dann das Flackern, wenn nur der iFrame aktualisiert wird.

PS: Abgesehen davon hatte mich vor einigen Wochen mal eine Kundin nach einem Chat gefragt. Ich 'kenn ich nicht, keine Ahnung' - aber dann habe ich sie auf so ein ihr bis dato unbekanntes Schweizer Forum geschickt - und schwups, fand sie unter Chat etwas Brauchbares.
biggrin.gif


PPS: Ich hab schon gesehen, daß nur diese Seite refresh drin hat. Mein Browser macht das aber komplett - dummes Ding.
mad.gif
 
hall jauer

danke für deine bemühungen.
nein eigentlich wird nicht das frame jedesmal geladen sondern nur
dort oben wo der inhalt drin ist...

denke aber dass man jetzt mit wenig AJAX code das reloaden ersetzen
kann... hmm?

gruss marco
 
Übrigens schreibt man Chat nur mit einem t.

Wenn du nur HTML und JS als Technologien verwenden möchtest würde ich doch etwas mit AJAX machen, diese ständigen Reloads kommen nicht gut.
 
Ja stimmt Chat nur mit einem t - da sieht man, dass ich früher nie gross in den Chat war :)
Genau möchte nur mit HTML und Java und aus diesem Grund AJAX verwenden. Nur das mein
knohow zu schlecht ist um es umzusetzen.

mit dem reload läuft der chat ganz gut, denke sollte nicht sehr viel arbeit sein dass nun noch
mit ajax zu verfeinern oder?

gruss marco

 
Du kannst den Reload in einem versteckten Frame machen, so wie ich das bei meinem Chat auch gemacht habe.
Wenn ich heute einen neuen Chat schreiben würde, würde ich allerdings den Reload onDemand machen. Ich weiss wirklich nicht, warum sich hier alle so auf Ajax versteifen. Meiner Ansicht nach ist sich das ganze Ajax-Framework, so gut es auch gemeint sein mag, geplatzt, da es Programmieren nur unnötig verkompliziert. Damit meine ich auch die Konstruktoreigenschaften.
 
Hallo Tuemmel

was genau heisst "Reload onDemand" wäre einfach cool, wenn man das blinken also
das Reload noch unterdrücken könnte..

Marco
 
Schau mal bei
http://www.fincy.com/webcounter/outside/handy.php?lan=d
unter dem ip-checker.

Die globale Variable srccounter=0;
muss durch srccounter=Math.random();
ersetzt werden.
Das ist die einzige globale.
Du könntest aber auch den Hauptcontainer mit chatmessages als globales Object setzen.
Das wäre dann ein paar Millisekunden schneller, als diesen jedesmal neu im php-script per document.getElementById() zu öffnen.

In deinem php-file setzt du dann einfach per dom div-container mit den
Messages, die in der Datenbank abgerufen werden.

var x=document.createElement("DIV"); etc.
hauptcontainer.appendChild(x);

In die Reload-Funktion setzt du den setTimeOut("reload_funktion()","1000")
Wenn dein hauptcontainer global ist, dann muss bei onload dieser dem Object zugewiesen werden.
Dafür würde ich eine Funktion schreiben, die mit onload initialisiert wird und anschliessend die reload_funktion aufruft.

Jetzt ist dieser Text bereits länger als die notwendigen Funktionen.
 
Huii muss das morgen mal anschauen. sieht aber ziemlich kompliziert aus.
fällt dann mit dieser funktion das reload weg resp. das nervige blinken im
chat?

marco
 
Zurück
Oben