Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/12/2010, 19:58
yop289
 
Fecha de Ingreso: diciembre-2010
Mensajes: 61
Antigüedad: 14 años
Puntos: 4
Respuesta: Problema con setInterval

[QUOTE=maycolalvarez;3690521]las peticiones con ajax no se abortan las unas a las otras (recuerda que son peticiones HTTP convencionales), depende del servidor el de rechazarlas o no si es que está muy saturado; si esto sucediera sitios como facebook serían un sueño.

Estoy de acuerdo, no me he explicado correctamente, al final las peticiones no se realizan por la razón que comentaba y posiblemente hay que tener en cuenta en número de peticiones simultaneas que puede aceptar el host. Antes de rechazar más peticiones desde la misma IP. Y el explorador que usas antes de solicitar una nueva petición al host.

Internet Explorer 7 y anteriores
Servidor HTTP 1.0 (conexión de banda ancha) 4
Servidor HTTP 1.1 (conexión de banda ancha) 2
Servidor HTTP 1.0 (conexión de acceso telefónico) 4
Servidor HTTP 1.1 (conexión de acceso telefónico) 2

Internet Explorer 8

Servidor HTTP 1.0 (conexión de banda ancha) 6
Servidor HTTP 1.1 (conexión de banda ancha) 6
Servidor HTTP 1.0 (conexión de acceso telefónico) 4
Servidor HTTP 1.1 (conexión de acceso telefónico) 2


Firefox 3
Servidor HTTP 1.0 (conexión de banda ancha) 6
Servidor HTTP 1.1 (conexión de banda ancha) 6


En definitiva te sigo recomendando la opción que eches un vistazo a la web que te comentaba o que no lo hicieras a tan tiempo real, o realices peticiones sincronas.

Una vez que has recibido la respuesta de una petición llamas a la otra y así sucesivamente. Con lo que te aseguras que se ejecutan ambas peticiones.

Código:
function NroMsgs(ID) {
        
        midiv= document.getElementById('NombreDIV');
        ajax=objetoAjax();
        ajax.open("GET", "Archivo.php?UserID="+ID);
        ajax.onreadystatechange=function() {
            if (ajax.readyState==4 && ajax.status == 200) {
                divResultado.innerHTML = ajax.responseText;
                    Totalusers();  //llamas a la otra función
            }
        }
    
        ajax.send(null)
    }  

function Totalusers(); {
        
        midiv= document.getElementById('NombreDIV');
        ajax=objetoAjax();
        ajax.open("GET", "Archivo.php?UserID="+ID);
        ajax.onreadystatechange=function() {
            if (ajax.readyState==4 && ajax.status == 200) {
                divResultado.innerHTML = ajax.responseText;
                     NroMsgs(IDUSUARIO) //llamas a la otra función
            }
        }
    
        ajax.send(null)
    }

Un saludo es sólo una idea