Foros del Web » Programando para Internet » PHP »

Mensaje emergente

Estas en el tema de Mensaje emergente en el foro de PHP en Foros del Web. Hola a todos amigos, Tengo un sistema de login programado, junto con un sistema de mensajes en PHP y MySQL. Hasta aquí todo perfecto, pero ...
  #1 (permalink)  
Antiguo 22/04/2010, 03:47
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Mensaje emergente

Hola a todos amigos,

Tengo un sistema de login programado, junto con un sistema de mensajes en PHP y MySQL. Hasta aquí todo perfecto, pero quiero ir mas allá y hacer lo siguiente:

Quiero que cuando un usuario envía a otro un mensaje, si el destinatario está conectado mediante mi login, le llegue un mensaje emergente tipo messenger (por abajo, derecha). Si no lo está que cuando se conecte le salga.

Así tal cual, lo veo sencillo. Sería crear una comunicación ajax, que se fuese actualizando cada 10 segundos, al OnLoad(). En este caso lo que haría sería ir en busca de nuevos datos en la base de datos. Es un sistema asequible con pocas visitas, pero si hay muchas, creo que el consumo del server puede ser escandaloso.

¿Pero se podría hacer al revés? Es decir, cuando el servidor recibiese nuevos datos (mensajes en este caso), enviar una señal a la persona que está conectada. De este modo ahorraría recursos al no tener que ejecutar una peticion cada 10 segundos al servidor. Desconozco si esto es posible, quizás si, pero escapa a mi conocimiento.

Gracias de antemano
  #2 (permalink)  
Antiguo 22/04/2010, 08:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Mensaje emergente

definitivamente no se puede hacer al revés... la única forma es hacerlo con Ajax, ya que no es posible hasta ahora enviar mensajes -del modo en que lo planteas- desde el servidor al cliente... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/04/2010, 08:57
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Respuesta: Mensaje emergente

Hola, estoy pensando que podrías hacer es refrescar la página del cliente cada cierto tiempo, sin tocar el servidor, y si tiene algún mensaje pues que le salte o que haga lo tu quieras.

Solo es una idea...

Saludos.
  #4 (permalink)  
Antiguo 22/04/2010, 12:09
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Mensaje emergente

Cita:
Iniciado por gogupe Ver Mensaje
Hola, estoy pensando que podrías hacer es refrescar la página del cliente cada cierto tiempo, sin tocar el servidor, y si tiene algún mensaje pues que le salte o que haga lo tu quieras.

Solo es una idea...

Saludos.

Como has dicho es una idea, y funcionaría perfectamente, pero sería muy molesto para los usuarios. Imagina, estás escribiendo un mensaje, de unas 10 lineas, y de golpe... PAM! Se recarga la página y lo pierdes todo... Eso jodería mucho... ¿O no? :S

La mejor forma, como ha dicho "pateketrueke" y "urameshix", es usar AJAX.
  #5 (permalink)  
Antiguo 22/04/2010, 13:11
 
Fecha de Ingreso: febrero-2008
Mensajes: 79
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Mensaje emergente

la verdad no me manejo con ajax, pero me gustaría, ahora un aporte a la idea de refrescar la pagina podría ser un frame y que se cuando haga refresh el target sea ese marco y asi no recargas toda la pagina del visitante.
  #6 (permalink)  
Antiguo 22/04/2010, 13:19
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Respuesta: Mensaje emergente

se podría, al refrescar guardar los datos en una variable de session para no perder la informacion del formulario... yo sigo con ideas ... no me mateis !!!

Etiquetas: emergente, mensaje
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 10:07.