• Publicidad

Dudas con CGI::Ajax

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Dudas con CGI::Ajax

Notapor AkonD » 2006-08-05 12:03 @544

¡Wenas perleros!

Estuve trasteando con CGI::Ajax y todo bien en principio aunque tengo una duda:

¿Cómo hago para modificar contenido en el navegador cuando el script le de la gana sin depender de un evento javascript?, es decir, el módulo permite cambiar contenido cuando se produce un evento en el navegador del cliente pero yo quiero modificar contenido cuando pasa algo en una función Perl.

Mi idea era hacer un cgi que al ejecutarse abriera un socket en el server web que se conectara al irc y entonces ir viendo en el navegador las líneas que llegan en el socket sin recargar la página.

Salu2
AkonD
Perlero nuevo
Perlero nuevo
 
Mensajes: 50
Registrado: 2005-10-06 06:36 @316
Ubicación: España

Publicidad

Notapor explorer » 2006-08-05 12:49 @575

Por definición, Ajax crea una petición HTTP (httprequest) como si fuera a hacer una llamada a un cgi cualquiera. Y no se queda esperando la respuesta, sino que le da libertad al usuario para seguir interactuando con la página. Cuando el resultado de la petición llegue, la rutina declarada por Ajax se activará y se cambiará el contenido.

Eso quiere decir que sólo hay dos formas de cambiar el contenido: o haciendo una petición http de forma regular, o, después de haber realizado una petición http, no cerrar la conexión y de esa manera el cgi está constantemente enviado información al cliente. Esto es lo que se llamaba hace años la tecnología push, pero yo no lo he visto en ningún lugar añadido a Ajax.

Lo más parecido a lo que quieres hacer está aquí: http://meneame.net/sneak.php
Cada pocos segundos va actualizando los contenidos. Pero lo hace con peticiones periódicas http (variando los tiempos para no sobrecargar al servidor, haciendo que las peticiones aumenten cuanto más contenido hay).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2006-08-05 13:54 @621

En el módulo CGI.pm se comenta el uso de la tecnología push, pero ya advierten de que sólo funcionaría en clientes netscape (y quizás firefox) pero no Internet Explorer.

De todas maneras, como el protocolo http no está orientado a sesión, estarías obligado a mantener una conexión permanente, y eso no gusta mucho a los servidores web.

Yo creo que lo más fácil es que pongas un evento Javascript de tiempo, de uno o a 3 segundos de espera y con eso hagas una petición Ajax...

El otro método que se usa para mantener una conexión permanente con el usuario es usando un Applet de Java o con Flash. Entonces sí es posible, porque el plugin crea un sockect permanente con el servidor. Ya es independiente del HTTP.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados