Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Comunicación solo del servidor

Estas en el tema de Comunicación solo del servidor en el foro de Frameworks JS en Foros del Web. Wenas, os escribo porque ya ando bastante desesperadillo. Os cuento, a ver si alguien puede iluminarme: La cosa es que quiero hacer que una pagina ...
  #1 (permalink)  
Antiguo 11/03/2008, 04:18
 
Fecha de Ingreso: marzo-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Comet

Wenas, os escribo porque ya ando bastante desesperadillo. Os cuento, a ver si alguien puede iluminarme:

La cosa es que quiero hacer que una pagina vaya refrescando datos de manera independiente, desde una base de datos, pero sin que halla comunicacion por parte del cliente, sino que sea la propia base de datos la que los mande, y el browser los coja y actualice segun van llegando.


He intentado montarme algo con php, dhtml y javascript del estilo de:



Una pagina principal que hace un loop que consta
llamada a un daemon, espera de la respuesta del daemon
escribir el dato que me manda el daemon, y vuelta a empezar.


A su vez el daemon, que estaría en el servidor esta continuamente haciendo preguntas a la BD, y solo hace return cuando el dato que pide es distinto al anterior que tenia.



Y la verdad que no me sale nada, intuyo que tengo problemas con esos dos loops infinitos... pero es que por una vez, quiero que sean infinitos:S

En fin... alguna idea???

Última edición por Evidentementeyo; 12/03/2008 a las 05:31
  #2 (permalink)  
Antiguo 11/03/2008, 04:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Comunicación solo del servidor

Hola:

El servidor no suele usar sistemas de retardos tipo sleep, así que esa estrategia deberías implementarla tú mismo en javascript.... puedes usar sentencias del tipo setTimeout, o por cada carga activar la siguiente como en este mensaje: Un script para darle un preload al index

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/03/2008, 09:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Comunicación solo del servidor

Lo que tu propones es la tecnología COMET, todavía no hay implementaciones firmes, pero si tienes acceso a un servidor dedicado podrías bajar las extensiones de prueba e implementarlas.

Saludos.
  #4 (permalink)  
Antiguo 12/03/2008, 02:06
 
Fecha de Ingreso: marzo-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Comet

De comet lo mas entendible que he encontrado es el servidor meteor, el problema que tengo es ke los servidores convencionales no estan preparados para mantener la conexion abierta.

A pesar de todo, busco una solucion para windows(el meteor esta orientado mas bien a linux)...

Alguien tiene alguna idea, sugerencia o consejo con esto del comet???
  #5 (permalink)  
Antiguo 12/03/2008, 05:59
Avatar de mgusdl  
Fecha de Ingreso: abril-2007
Ubicación: Malaga, España
Mensajes: 190
Antigüedad: 17 años
Puntos: 5
Re: Comunicación solo del servidor

Como dice Caricatos, la solución pasaría por poner un setTimeOut que haga la petición cada x tiempo al servidor. Esto sustituiría tu bucle infinito y no dejaría tostado el navegador del cliente.

En cuanto a lo del daemon, que cree un archivo respuesta en una carpeta del directorio virtual del servidor web y el script lo vaya leyendo a cada llamada del timeout.

En cuanto a generar la respuesta en la llamada (es decir, generando el xml con PHP en cada llamada) debes tener en cuenta la carga que va a tener el servidor, ya que no es lo mismo que simplemente despache un XML estático generado por el demonio/servicio a que genere el contenido a cada petición (con PHP, ASP o lo que guste), ya que de haber muchas peticiones podría sobrecargar el servidor.
  #6 (permalink)  
Antiguo 13/03/2008, 02:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 16
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Comunicación solo del servidor

Ya, lo que pasa es que yo busco algo mas del tipo streaming, mas que cosas pregunta/respuesta continuamente. Para lo que tengo pensado me da igual mantener la conexion abierta continuamente... pero lo que no quiero que halla es flujo de datos "inutil". Como lo que seria preguntar continuamente por los datos(mas aun si esos datos no han cambiado).

No se si se me entiende, lo siento pero es que soy un poco nuevo:D
  #7 (permalink)  
Antiguo 13/03/2008, 02:26
Avatar de mgusdl  
Fecha de Ingreso: abril-2007
Ubicación: Malaga, España
Mensajes: 190
Antigüedad: 17 años
Puntos: 5
Re: Comunicación solo del servidor

Si, claro. Tu lo que quieres es que cuando haya un cambio en los datos el servidor avisa al cliente de este cambio y entonces se descarguen.

Bueno, lamento decirte que la forma de funcionar de la web no permite eso, quizás utilizando Java o incluso Flash (ActionScript) puedas conseguir algo.

Sin salirnos de la tecnología AJAX lo único que se me ocurre es que lo dividas en 2 peticiones al servidor. Una petición programada cada x segundos que tome la fecha de los datos. Si la fecha es más reciente que la anterior hará la segunda petición solicitando los datos.
Al cargar la página como no tiene fecha almacenada (para lo que utilizariamos una variable "gobal") pedirá los datos.
Esto te quitará uso de ancho de banda ya que sólo se transmitirá el grueso de la información cuando esta haya cambiado.

Sigue sin ser lo que quieres, pero es una posibilidad.
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 18:41.