Mi sono imbattuto in questi examples mostrando polling vs polling lungo in javascript, tuttavia non capisco come siano diversi l'uno dall'altro. Soprattutto per quanto riguarda l'esempio di polling lungo, come mantiene aperta la sua connessione?polling vs polling lungo
Questo è ciò che lo scenario di polling tradizionale assomiglia:
(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);
})();
e questo è il lungo esempio di polling:
(function poll(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
}, dataType: "json", complete: poll, timeout: 30000 });
})();
Grazie!
Il cliente può dire la differenza tra il polling lungo e una risposta lenta? Mi sembra che sondaggi e sondaggi lunghi siano fondamentalmente la stessa cosa. Polling: "Client: è ancora pronto? Server: No". Polling lungo: "Cliente: è ancora pronto? Server: ... No". – DavidS
@Davids: ecco la differenza: con il polling, il client chiede e ottiene una risposta immediata "sì/o". Con il polling lungo, il client chiede ma * non * ottiene una risposta immediata. Il server non risponde alla domanda fino a quando * non * è qualcosa che può rispondere. Quindi la domanda è in sospeso tutto il tempo. – Robert
@Robert Cosa succede se c'è un evento di timeout e il server non è in grado di inviare dati nel polling lungo? Il cliente deve inviare nuovamente la stessa richiesta? –