Foros del Web » Programando para Internet » PHP »

AJAX respuesta del servidor sincronizada

Estas en el tema de AJAX respuesta del servidor sincronizada en el foro de PHP en Foros del Web. Muy buenas amigos del foro, en este caso les traigo una consulta la cual es la siguiente: Tengo una página A (o mejor dicho varias ...
  #1 (permalink)  
Antiguo 11/08/2012, 18:41
Avatar de xIamAlex  
Fecha de Ingreso: abril-2012
Ubicación: Venezuela
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 23
AJAX respuesta del servidor sincronizada

Muy buenas amigos del foro, en este caso les traigo una consulta la cual es la siguiente:

Tengo una página A (o mejor dicho varias páginas) que abren una sesión en el servidor a través de $_SESSION y $_COOKIE que son como las manejo actualmente, bueno todo bien, PERO, si por ejemplo el usuario abre otra ventana / pestaña en la misma página y cierra sesión y abre otra, por supuesto los cambios que se hagan en las páginas A (las páginas / pestañas ya abiertas) se aplicarán para el id de la sesión actual, y lo que quiero es que en vez de hacer eso, se redireccione hacia la página principal una vez cargada la nueva sesión desde la nueva pestaña / ventana.

Ya evité que cuando el usuario cierre la sesión de la misma manera y trate de hacer cambios offline, el servidor muestre errores PERO si este abre otra pues claro funcionará ya que las variables están validadas.

Lo que quiero es que en el archivo logout.php le mande una respuesta a todas las páginas ya abiertas ordenando a redireccionar a través de AJAX pero no sé como hacerlo, puede que con bucles pero no me gusta ya que son pesados, ¿me sugieren alguna técnica tipo comet o socket? porque la verdad he estado buscando información pero no encuentro que hacer..

Dicen que HTML5 dispone de sockets pero aún no hay mucha documentación, gracias por sus sugerencias
__________________
Las personas quieren autos, casas, teléfonos, dinero, poder, ser famosos, parejas, en fin.. yo solo quiero ser libre y feliz.
  #2 (permalink)  
Antiguo 11/08/2012, 18:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: AJAX respuesta del servidor sincronizada

Puedes tener un request por AJAX que se ejecute cada minuto por ejemplo, y una vez que la sesión este terminada mandas la respuesta de logout y haces que se redireccione a login las paginas que estén abiertas.
  #3 (permalink)  
Antiguo 11/08/2012, 18:53
Avatar de xIamAlex  
Fecha de Ingreso: abril-2012
Ubicación: Venezuela
Mensajes: 118
Antigüedad: 12 años, 6 meses
Puntos: 23
Respuesta: AJAX respuesta del servidor sincronizada

Hola Gator, antes que nada muchas gracias por responder..

Si bueno he estado pensando en hacer ese tipo de respuesta, pero trato de buscar una que sea más efectiva, por ejemplo, los chats en ajax, he visto chats que sacan información sin intervalos y el navegador hace una especie de "suscripción" al servidor obteniéndola..

Sin embargo bueno no descarto la posibilidad de utilizar la solución planteada, es mejor prevenir que lamentar

Estoy atento para cualquier otra sugerencia de más
__________________
Las personas quieren autos, casas, teléfonos, dinero, poder, ser famosos, parejas, en fin.. yo solo quiero ser libre y feliz.
  #4 (permalink)  
Antiguo 11/08/2012, 20:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: AJAX respuesta del servidor sincronizada

Ah eso se conoce como HTTP Push, y pues tienes que cambiar toda la infraestructura de tu aplicación para usarlo, necesitas otro servidor HTTP, y con PHP es complicado implementarlo, lo mejor es usar node.js para eso.

Saludos.

Etiquetas: ajax, html, respuesta, servidor, variables, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:59.