2017-05-12 1 views
0

Ich weiß nicht, wie ich diese Frage formell formulieren soll, da ich nicht weiß, was hier tatsächlich passiert. Wenn ein Benutzer einen Kommentar zu meinem Post verfasst, macht Facebook eine Anfrage wie unten, um diesen Kommentar anzuzeigen, ohne dass ich etwas unternehme. Wie machen sie das?Wie funktioniert Facebook in Echtzeit?

https://0-edge-chat.facebook.com/pull?channel=p_100009456028304 

Diese nicht Push-Benachrichtigung sein können, wie sie sind, werden ständig einen Pull antrag (i unter Verwendung geprüft Entwickler-Tools in Browser zur Verfügung, obwohl ich bin nicht sicher, ob es Push-Benachrichtigung ist oder nicht) .Sie sind ständig eine Pull-Anfrage an obige URL machen. Wie heißt diese Technologie? Constant request Kann mir bitte jemand helfen, dies zu verstehen. Vielleicht ist diese Frage doppelt und bereits auf Stapelüberlauf beantwortet. Aber als ich nicht was das ist, ist es schwer zu suchen. (Ich versuchte, aber konnte nichts finden)

+0

Es heißt lange Polling – WizKid

+0

Aus was ich heute über Polling gelernt habe, ist, dass sie ständig Anfragen an den Server für alle Updates und sobald sie es bekommen haben, zeigen sie es dem Client. –

+0

Aber es gibt zahlreiche Dinge, die alle auf einmal aktualisiert werden können, also wie sie eine Anfrage stellen und entscheiden, welche Antwort für welchen Teil der Seite ist (das erhaltene Update ist für liked.i kann davon ausgehen, dass sie einen Parameter hinzufügen könnte Stellen Sie fest, was ist dieses Update für) erreichen sie wirklich diese "Echtzeit" Updates wie diese? oder Polling ist so gemacht? Wie kann ich Abfragen mit begrenzten Serverressourcen erreichen? (wie Abfragen möglicherweise Overhead am Server erstellen) –

Antwort

0

Wie in den Kommentaren richtig gesagt, Das nennt man Long Polling. Auf den Punkt gebracht, gibt es fünf Möglichkeiten, Echtzeit-Updates in einer Web-Seite zu implementieren:

  1. Web-Push
  2. WebSockets
  3. HTTP Streaming
  4. HTTP Lange Polling
  5. HTTP Polling

Facebook verwendet Long Polling mit einem Poll-Timeout von 50 Sekunden. Dies bedeutet, dass eine HTTP-Anfrage vom Browser an den Server erfolgt. Wenn keine Updates verfügbar sind, wird die Anforderung vom Server für maximal 50 Sekunden beibehalten. Auf diese Weise kann, sobald ein Update verfügbar ist, dieses an den Client gesendet werden, ohne auf eine neue Client-Anfrage zu warten (wie beim normalen Polling).

Verwandte Themen