2010-03-20 4 views
7

Avez-vous une idée de la logique derrière la connexion lente dans Gmail?Comment Google détecte-t-il une connexion lente dans Gmail?

+0

Envoyer une demande Ping? –

+1

Le ping n'est pas lié à la bande passante, mais plutôt à la latence. –

+0

Les hôtes @Amokrane peuvent être configurés pour ne pas répondre aux requêtes ICMP "Echo request/reply" (c'est-à-dire 'ping') – Andy

Répondre

5

Je ne sais pas si c'est comme cela que Google le fait (bien que cela semble raisonnable), mais ce que je ferais, c'est peut-être le temps du processus d'initialisation - par ex. "avoir certains éléments clés ont été initialisés dans le document dans (disons) 30 secondes" - sinon, alors proposer à l'utilisateur que leur connexion est lente. La langue que Google utilise, comme vous le savez, "cela semble prendre plus de temps que la normale", ce qui suggère pour moi qu'ils n'ont pas une solution trop compliquée à cela.

+0

@Rob 30secondes en attente d'initialisation. Que faire si le serveur est hors service !! –

+0

Cela peut être détecté, car l'initialisation peut être tout à fait une charge de données, mais la détection si elle est encore en ligne ne prend que quelques octets. – Dykam

+0

Une fois, j'ai regardé les sources de Gmail (pas tout, seulement les parties évidentes) et c'est exactement ce que fait Gmail (et le délai d'attente est en effet de 30 secondes). –

4

Voici (sous une forme très simplifiée) comment j'imagine qu'ils le font.

// Pop an alert after 30 seconds 
var timeout = setTimeout(function() { 
          alert('Your connection/computer is slow!'); 
         }, 30000); 

// Loading logic 
loadStuff(); 

// When done loading (if it took less than 30 seconds), 
// calling this will prevent the alert from popping up. 
clearTimeout(timeout); 
+0

Je peux essayer cette solution pour FB et le contenu connexe. Je ne vais pas charger ces plugins sociaux pour les connexions lentes. et épargner ces gens. ;) –

Questions connexes