Foros del Web » Programando para Internet » PHP »

Retardar respuesta del servidor

Estas en el tema de Retardar respuesta del servidor en el foro de PHP en Foros del Web. Hola amigos, necesito que me ayuden con una duda que me tiene la cabeza "echando humo" como aquel que dice, mi problema es el siguiente: ...
  #1 (permalink)  
Antiguo 08/10/2010, 08:18
 
Fecha de Ingreso: mayo-2009
Ubicación: La Habana
Mensajes: 92
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Retardar respuesta del servidor

Hola amigos, necesito que me ayuden con una duda que me tiene la cabeza "echando humo" como aquel que dice, mi problema es el siguiente: necesito demorar la respuesta del servidor y bueno, me explico:

estoy haciendo un sistema, con el cual, cuando recargo la pagina, tengo que guardar los datos que ya el usuario habia llenado(en un formulario) y bueno, esto lo controlo con el evento OnUnload, cuando se dispara el evento, hago un envio mediante ajax al servidor con todos los datos modificados, pero tambien se envia la peticion de actualizar la pagina(las dos peticiones se disparan cuando le doy F5 al navegador). La peticion ajax llega correctamente, pero llega despues que la peticion de actualizar la pagina y es por eso que no puedo construir el formulario con los datos que guarde enviando con ajax para el servidor....lo que tenia pensado era demorar la respuesta de esta pagina hasta que llegara la otra peticion, pero no lo he podido lograr...miren lo que he intentado hacer!!!

Código PHP:
$temp funcionParaComprobarSiLLegoLaPeticion();
do{
  
sleep(1);
  
$temp funcionParaComprobarSiLLegoLaPeticion();
}while(
$temp); 
lo que queria hacer era un ciclo infinito con un retardo de un segundo en cada iteraccion y asi poder comprobar si ya habia llegado el envio por ajax, pero lo que sucede es que sale del ciclo y no me carga el formulario con los datos!!!

disculpen si he hablado mucho, es que he intentado explicarme lo mejor posible...muchas gracias a todos por leerme y ayudar!!!

saludos, kceres
  #2 (permalink)  
Antiguo 08/10/2010, 08:46
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 19 años, 5 meses
Puntos: 23
Respuesta: Retardar respuesta del servidor

Hola,

Mira, ahora se me ocurre hacerlo con javascript, utilizar las funciones de tiempo, es decir, verificar que el time sea mayor igual a X y ahí realizar la operación que deseas.
Sino, como alternativa, podés detectar la petición de Ajax, pero nunca lo he probado, como por ejemplo...

Código PHP:
Ver original
  1. $content = get_content(); //generic function;
  2. if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
  3. die($content);
  4. }

Suerte!
__________________
Freelance - Aplicaciones Web
  #3 (permalink)  
Antiguo 08/10/2010, 13:43
 
Fecha de Ingreso: mayo-2009
Ubicación: La Habana
Mensajes: 92
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Retardar respuesta del servidor

Gracias carmagedon por responder!!!

en teoria yo soluciono el problema si tuviera una funcion similar al setInterval que javascript, donde, cada x tiempo, se puede ejecutar una funcion especifica...tenia pensado hacerlo con la funcion sleep(x) dentro de un ciclo, pero nada, se termina el ciclo y no hace por responder como tenia pensado.

Una pregunta, la funcion sleep, lo que haces es(si se usa al principio de la funcion):

- Esperar X cantidad de segundo y despues ejecutar el codigo completo y dar la respuesta al cliente.
- Ejecutar el codigo completo y cuando haya terminado de ejecutar todo el codigo, esperar X cantidad de segundos antes de dar la respuesta la cliente


a la verdad es que ya no se que hacer...la otra idea que tengo no me gusta.

saludos, kceres
  #4 (permalink)  
Antiguo 08/10/2010, 13:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Retardar respuesta del servidor

Cita:
Iniciado por kceres Ver Mensaje
Una pregunta, la funcion sleep, lo que haces es(si se usa al principio de la funcion):

- Esperar X cantidad de segundo y despues ejecutar el codigo completo y dar la respuesta al cliente.
- Ejecutar el codigo completo y cuando haya terminado de ejecutar todo el codigo, esperar X cantidad de segundos antes de dar la respuesta la cliente
creo que lo mas inteligente sería leer el manual, no crees?
http://php.net/sleep
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: respuesta, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:38.