glan: Chat

Hallo,
ich bin noch Anfänger in Sachen Ajax und versuche gerade einen ganz primitiven Chat zu Testzwecken zu machen...
Ich habe es schon geschafft, dass man Beiträge schreiben kann. Allerdings sieht man noch nicht die Beiträge anderer Leute (ich geh dann immer mit einem anderen Browser rein...).
Mein Javascriptcode zum Abschicken:

  
var http = null;  
function Chat(Name, Text)  
 {  
 if (window.XMLHttpRequest)  
  {  
  http = new XMLHttpRequest();  
  } else if (window.ActiveXObject) {  
  http = new ActiveXObject("Microsoft.XMLHTTP");  
  }  
 if (http != null)  
  {  
  http.open("POST", "eingabe.php", true);  
  http.onreadystatechange = ausgeben;  
  http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
  http.send("Name=" + Name + "&Text=" + Text);  
  }  
 document.forms[0].elements['Text'].value = '';  
 return false;  
 }  
function ausgeben()  
 {  
 if (http.readyState == 4)  
  {  
  document.getElementById("Ausgabe").innerHTML =  
  document.getElementById("Ausgabe").innerHTML + '<br>' + http.responseText;  
  }  
 }  

eingabe.php:

  
<?php  
echo '<span style="font-weight:bold;">  
'.htmlspecialchars($_POST['Name']).'  
</span>:  
'.nl2br(htmlspecialchars($_POST['Text']));  
?>  

Was muss ich noch tun, um Beiträge anderer Leute miteinzusehen?

MfG

  1. Hi,

    ich bin noch Anfänger in Sachen Ajax und versuche gerade einen ganz primitiven Chat zu Testzwecken zu machen...

    ich werde wohl nie verstehen, warum Leute ständig irgendwelche Dinge in einem Protokoll haben wollen, das für diese Dinge überhaupt nicht geeignet ist.

    Was muss ich noch tun, um Beiträge anderer Leute miteinzusehen?

    Den Server diese Beiträge an den Client senden lassen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo,

      ich bin noch Anfänger in Sachen Ajax und versuche gerade einen ganz primitiven Chat zu Testzwecken zu machen...

      ich werde wohl nie verstehen, warum Leute ständig irgendwelche Dinge in einem Protokoll haben wollen, das für diese Dinge überhaupt nicht geeignet ist.

      Und ich werde wahrscheinlich nie verstehen, warum Leute anderen Leuten den Spaß am Lernen nehmen wollen bzw. warum manche Leute andere Leute nicht ihre eingenen Erfahrungen machen lassen wollen.
      Vllt. (auf jeden Fall) steig ich ja mal auf Java um :-)

      Was muss ich noch tun, um Beiträge anderer Leute miteinzusehen?

      Den Server diese Beiträge an den Client senden lassen.

      Danke

      1. Hi,

        Und ich werde wahrscheinlich nie verstehen, warum Leute anderen Leuten den Spaß am Lernen nehmen wollen bzw. warum manche Leute andere Leute nicht ihre eingenen Erfahrungen machen lassen wollen.

        klar doch, wenn's Dir Spaß macht kannst Du gerne das Handwerkern erlernen, indem Du mit einem Plüschpantoffel einen Plastiknagel in einen Kirschbaum schlägst. Ich persönlich würde dazu aber sagen, dass das nur wenig lehrreich und im Endeffekt kaum nutzbar ist.

        Vllt. (auf jeden Fall) steig ich ja mal auf Java um :-)

        Auf Client-, Server- oder Tasseninhalt-Seite?

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. klar doch, wenn's Dir Spaß macht kannst Du gerne das Handwerkern erlernen, indem Du mit einem Plüschpantoffel einen Plastiknagel in einen Kirschbaum schlägst.

          Ts, ts, ts. Immer diese rohe Gewalt. Ein Wattebausch ist das wesentlich schonendere und daher das zu benutzende Werkzeug.

          Vllt. (auf jeden Fall) steig ich ja mal auf Java um :-)

          Auf Client-, Server- oder Tasseninhalt-Seite?

          Bleibt zu hoffen, dass es die Tasse ist. Alles andere wäre zu grausam.

          Alexander

  2. Hallo,

    Was muss ich noch tun, um Beiträge anderer Leute miteinzusehen?

    Erst das Konzept ausdenken, dann programmieren. ;)

    Was du bisher programmiert hast, hat mit einem Chat nix zu tun und ist auch nur bedingt ein Schritt in die richtige Richtung. (Du sendest etwas an den Server, damit der dasselbe wieder ausgibt, die Antwort schreibst du dann ins HTML-Dokument. Dazu brauchst du's aber erst gar nicht zum Server senden, sondern könntest es auch gleich ins Dokument schreiben... ;))

    Wie die Nachrichten von den Chattern zum Server kommen, weißt du. Die große Frage bei Chats über HTTP-Anfragen ist aber gerade, wie die Nachrichten auf dem Server zwischengespeichert werden und vom Server zu allen anderen Chattern kommen. Und da gibts keine wirklich tolle Lösung. Die üblichen HTTP-Chats arbeiten mit endlos offenen Verbindungen, d.h. der Server sendet über lange Zeit hinweg immer wieder Portionen derselben Seite (das sind die Nachrichten der anderen Chatter), die dann im Browserfenster erscheinen. Mit XMLHttpRequest hingegen kannst du nur »Pollen«, also immer wieder regelmäßig GET-Anfragen zum Server senden und abfragen, ob es schon neue Nachrichten seit dem letzten Abrufen gibt. Falls ja, liefert der Server sie zurück und das Script schreibt sie ins Nachrichtenfenster. Dazu müssen die Nachrichten natürlich temporär in einer primitiven Datenbank zwischengespeichert werden, damit solche Ausgaben generiert werden können.

    Mathias