2009-09-23 8 views
4

Outre la charge lourde évidente sur le serveur, est-il mauvais d'avoir plusieurs scrutins AJAX simultanés en cours simultanément? Ou y a-t-il même une limite quant à ce qu'un navigateur/serveur peut gérer?Interrogation d'intervalle AJAX simultanée

Exemple (tous les sondages d'AJAX) ..

  • Fonction A est sur 3 secondes d'intervalle pour tirer un nouveau message pour un système de chat global (comme Facebook/MySpace).

  • La fonction B est sur un intervalle de 2 secondes pour tirer les mises à jour et les actions à montrer à l'utilisateur (comme dans une application de poker en ligne).

  • La fonction C est sur une interalle de 4 secondes, mais également pour un nouveau message pour un système de messagerie distinct.

+0

pouvez-vous s'il vous plaît laissez-moi savoir comment vous avez fait des appels ajax simultanés? –

Répondre

3

Les navigateurs avaient une limite de 4 connexions simultanées (ou dans des cas très anciens 2) par domaine. La plupart des navigateurs modernes ont augmenté cela à 6 ou 8 (basé sur mes propres tests et quelques lectures de soutien).

Ainsi, les connexions à longue interrogation peuvent ronger ces emplacements dans le navigateur et potentiellement empêcher le téléchargement d'autres éléments aussi rapidement.

Dans le cas contraire, il pourrait s'agir d'une bande passante de bande passante pour les personnes utilisant des connexions lentes (réseaux commutés ou cellulaires).

Il peut y avoir d'autres inconvénients, mais ce sont deux grands que je vois.

0

Vous ne devriez jamais avoir besoin de plus de deux connexions AJAX actives simultanément. Soit vous faites une interrogation longue, par exemple le serveur répond avec des en-têtes mais envoie ensuite le corps d'entité quand il y a des données à livrer. Si vous exécutez un schéma d'interrogation comme celui que vous décrivez ci-dessus avec A, B, C, vous pouvez le faire avec un thread AJAX qui alterne entre les 3 requêtes, mais avec une valeur de délai définie sur l'intervalle de requête suivant. Vous créez un scénario imaginaire dans lequel vous distribuez vos requêtes à A, B et C en utilisant un seul thread AJAX.

0

J'ai constaté que certains appareils mobiles (par exemple, l'iPad) s'interrompent sur plus d'une requête xhr en attente.