Facebook get_messages.php
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
adresse
ankommen
brauche
code
datum
filter
frage
freund
http
inhalt
machen
minute
nachricht
realisieren
sekunde
server
text
url
wall
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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
-
Danke, werde ich auf jeden Fall machen!!! 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 -
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. -
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? -
Könnte das auf WebSockets basieren?
-
Ja, sieht sehr danach aus. Nochmal meine Frage, lässt sich das auch auf Lima-City realisieren oder brauche ich dazu einen V-Server?
-
socco schrieb:
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.
lässt sich das auch auf Lima-City realisieren oder brauche ich dazu einen V-Server? -
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 -
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? -
socco schrieb:
Lies es nochmal genau...
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?
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. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage