Ich kam auf diese examples zeigen Umfrage vs Long-Polling in Javascript, aber ich verstehe nicht, wie sie sich voneinander unterscheiden. Vor allem in Bezug auf das lange Polling-Beispiel, wie hält es seine Verbindung offen?polling vs lange polling
Dies ist, was die traditionelle Wahl Szenario wie folgt aussieht:
(function poll(){
setTimeout(function(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
//Setup the next poll recursively
poll();
}, dataType: "json"});
}, 30000);
})();
und das ist die lange Abfrage Beispiel:
(function poll(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
}, dataType: "json", complete: poll, timeout: 30000 });
})();
Dank!
Kann der Client den Unterschied zwischen langem Polling und langsamer Antwort feststellen? Es scheint mir, dass Umfragen und lange Umfragen im Grunde dasselbe sind. Polling: "Client: Ist es schon fertig? Server: Nein". Long Polling: "Client: Ist es schon fertig? Server: ... Nein". – DavidS
@Davids: Hier ist der Unterschied: Beim Polling fragt der Client und bekommt sofort eine Antwort "Ja/oder". Bei langem Polling fragt der Client, erhält aber keine sofortige Antwort. Der Server antwortet nicht auf die Frage, bis * er * etwas hat, was er beantworten kann. Die Frage ist also die ganze Zeit anhängig. – Robert
@Robert was passiert, wenn ein Timeout-Ereignis auftritt und der Server keine Daten in langen Abfragen senden kann? Sollte der Kunde die gleiche Anfrage erneut senden? –