kostenloser Webspace werbefrei: lima-city


Facebook get_messages.php

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    socco

    socco hat kostenlosen Webspace.

    Ich habe da mal eine Frage,

    bei Facebook ist mir in den Developer Tools von Google Chrome aufgefallen, dass Facebook keine regelmäßige Nachrichtenabfrage startet. Wie funtioniert das, dass die Nachricht trotzdem sofort nach Versand ohne Page-Reload ankommt?

    Danke schonmal im Vorraus!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m**********n

    Das ganze funktioniert über einen Push Server (korrigiert mich, wenn ich mich irre), das bedeutet:
    1. Der Client sagt einmal "Hallo" zum Server
    2. Sobald der Server neue Daten hat, pusht er die Daten zum Client
    3. Der Client sagt dem Server, dass die Daten angekommen sind
    4. Siehe Schritt 2

    Ich hoffe, es ist richtig und verständlich erklärt, vielleicht googelst du mal nach "push server", evtl. auch im Zusammenhang mit FaceBook.

    Lg

    mator
  4. Autor dieses Themas

    socco

    socco hat kostenlosen Webspace.

    Danke, werde ich auf jeden Fall machen!!! :thumb: Wird scheinbar auch reverse Ajax genannt! Kannst du mir vielleicht erklären, ob und wie ich das auf meiner Website verwenden kann?

    Wäre echt nett!

    Beitrag zuletzt geändert: 8.9.2012 22:16:21 von socco
  5. Hab mal nen Beispielcode geschrieben in Javascript:
    function reload(){
        var xmlhttp;
        if (window.XMLHttpRequest){
            xmlhttp=new XMLHttpRequest();
        }else{
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function(){
          if (xmlhttp.readyState==4 && xmlhttp.status==200){
            var text=xmlhttp.responseText;
            Messages(text);
          }
        }
        xmlhttp.open("GET","get_messages.php",true);
        xmlhttp.send();
    }
    window.setInterval(reload,10000);

    Der Code aktualisiert alle 10 Sekunden die Nachrichten indem er die Seite get_messages.php aufruft und dann den Inhalt an die Funktion Messages weitergibt.
  6. Autor dieses Themas

    socco

    socco hat kostenlosen Webspace.

    andicraft schrieb:
    Hab mal nen Beispielcode geschrieben in Javascript:
    function reload(){
        var xmlhttp;
        if (window.XMLHttpRequest){
            xmlhttp=new XMLHttpRequest();
        }else{
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange=function(){
          if (xmlhttp.readyState==4 && xmlhttp.status==200){
            var text=xmlhttp.responseText;
            Messages(text);
          }
        }
        xmlhttp.open("GET","get_messages.php",true);
        xmlhttp.send();
    }
    window.setInterval(reload,10000);

    Der Code aktualisiert alle 10 Sekunden die Nachrichten indem er die Seite get_messages.php aufruft und dann den Inhalt an die Funktion Messages weitergibt.


    Das hier ist ja eine normal Ajax abfrage, das meinte ich ja nicht, ich wollte wissen, wie ich die dauerhafte Verbindung zum server auflasse!
    Brauche ich dazu einen Linux Server mit Konsole, oder kann ich dies auch über Lima City realisieren?
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Könnte das auf WebSockets basieren?
  8. Autor dieses Themas

    socco

    socco hat kostenlosen Webspace.

    Ja, sieht sehr danach aus. Nochmal meine Frage, lässt sich das auch auf Lima-City realisieren oder brauche ich dazu einen V-Server?
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    socco schrieb:
    lässt sich das auch auf Lima-City realisieren oder brauche ich dazu einen V-Server?
    Nein, auf lima-city funktioniert das nicht, da dabei besondere Ansprüche an den Server gestellt werden. Auf einem V-Server würde das hingegen funktionieren.
  10. Facebook macht das ganz normal über Ajax-Requests an die Adresse
    http://www.facebook.com/ajax/intent.php?filter=h_nor&newest=123456789&ignore_self=true&load_newer=true&request_type=2&__user=123456789&[...]

    Dieser findet bei mir etwa alle 5 oder 6 Minuten statt. Kann durchaus sein, dass Facebook das höher frequentiert bei Leuten mit mehr als 10 Freunden. Aber grundsätzlich ist da so wie ich das sehe nichts mit WebSockets und so.

    Edit: Ich kam jetzt irgendwie auf die Wall. Der Chat läuft scheinbar über long-polling.

    Beitrag zuletzt geändert: 15.9.2012 11:56:00 von notinthetext
  11. Autor dieses Themas

    socco

    socco hat kostenlosen Webspace.

    notinthetext schrieb:
    Facebook macht das ganz normal über Ajax-Requests an die Adresse
    http://www.facebook.com/ajax/intent.php?filter=h_nor&newest=123456789&ignore_self=true&load_newer=true&request_type=2&__user=123456789&[...]

    Dieser findet bei mir etwa alle 5 oder 6 Minuten statt. Kann durchaus sein, dass Facebook das höher frequentiert bei Leuten mit mehr als 10 Freunden. Aber grundsätzlich ist da so wie ich das sehe nichts mit WebSockets und so.

    Edit: Ich kam jetzt irgendwie auf die Wall. Der Chat läuft scheinbar über long-polling.


    Wenn er alle 5 bis 6 Minuten eine Abfrage macht, wie kann es dann sein, dass Chat-Nachrichten sofort ankommen? :wall:
  12. socco schrieb:
    notinthetext schrieb:
    Edit: Ich kam jetzt irgendwie auf die Wall. Der Chat läuft scheinbar über long-polling.


    Wenn er alle 5 bis 6 Minuten eine Abfrage macht, wie kann es dann sein, dass Chat-Nachrichten sofort ankommen? :wall:
    Lies es nochmal genau... :rolleyes:

    Um genau zu sein ist Comet-Programming das Zauberwort. Wie sich dort nachlesen lässt, ist die sinnvolleste Form wohl, das ganze über Long-Polling ( s.o. ) zu realisieren, was bei Facebook scheinbar auch der fall ist.

    Es wird also durchaus regelmäßig ein Ajax-Request gesendet, es wird nur nicht regelmäßig beantwortet.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!