FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Download archivo desde web cada 5 segundos
Hola, hace algún tiempo trabajé bastante en delphi 6, y como me sucede siempre, cuando dejo de usar un lenguaje de programación olvido gran parte de las cosas que aprendí. Ésto lo comento para "cubrirme" porque posiblemente lo que estoy consultando es algo básico pero no le encuentro la vuelta.
Tengo desarrollados unos equipos que tienen un servicio web embebido y que generan un archivo XML con algunos datos, a los que accedo en forma remota desde el explorador. Estos equipos actualizan si archivo XML cada 1 segundo (están midiendo temperatura y humedad) La idea es hacer una página web que lea los archivos XML de éstos equipos y los muestre. Estoy utilizando java Script para ello. El asunto es que java script no puede leer archivos que no estén dentro de su dominio por lo que no puedo acceder directamente a éstos XML (que están en otros sitios), por lo que pensé en hacer un programa en Delphi, que grabe los XML en un directorio local para que el js pueda leerlos. Hice ésta rutina para un solo archivo procedure TForm1.Button1Click(Sender: TObject); var lStream: TFileStream; sWebPage : string; T:TMemoryStream; begin sWebPage := 'ijtt://htp.htp.htp.htp/variables.xml'; // lo puse así porque me dio un error el evio de éste tema que me dice // que no puedo manar links T:=TMemoryStream.Create; try IdHTTP1.Request.Username := 'admin'; IdHTTP1.Request.Password := 'admin'; idHTTP1.Get(sWebPage, t); t.savetofile('c:\sitiolocal\variables.xml'); IdHTTP1.Disconnect; except on e:exception do showmessage('problemas de conexión'); end; end; Y funciona bien, pero cuando repito ésta actualización con un timer, digamos cada 5 segunos, en algún momento se cuelga. No se si será porque conicide con la lectura que hago desde el js. Podrían decirme si hay alguna manera de optimizar ésta rutina ?? Muchas gracias de antemano pero como todo programa que se deja de usar por bastante tiempo |
#2
|
||||
|
||||
y si pones a la pagina misma a que lea el servicio web directamente?
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#3
|
|||
|
|||
El tema es que la lectura la estoy haciendo en javascript y no permite acceder a archivos fuera del dominio
Por eso pensé en ejecutar un programa aparte que me grabe los archivos en el directorio donde está la página que muestra los datos. Quizás se pueda hacer en php pero jamás hice nada con eso |
#4
|
||||
|
||||
Yo descargo una imagen de una página web cada 5 minutos, lo hago mediante wget y un script que se ejecuta mediante crontab (linux). Seguro que en windows existe algo parecido.
|
#5
|
||||
|
||||
Cita:
No hay razón para que el JS bloquee la escritura de los archivos, PERO, es posible que alcance a leer un pedazo corrompido de los datos. Es mejor que grabes en un archivo temp (ej: c:\sitiolocal\variables.xm_) y luego lo muevas al original. Serie bueno que activaras el loggin en indy pa que puedas ver bien que es lo que esta pasando.
__________________
El malabarista. |
#6
|
||||
|
||||
Pues yo me iria nuevamente con el tema de que la web consuma el servicio...
Una posibilidad es PHP con NuSOAP... Googleando encuentras varios tutoriales para crear servicios y consumirlos con esta libreria... si lo quieres en español pues este te puede servir.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#7
|
|||
|
|||
Cita:
Esa es una opción en la que no había pensado (la de generar un TEMP). No se igual que pasa si el JS lee al mismo tiempo que actualizo el html Lo de hacer algo del lado del servidor, no me es posible, porque estoy trabajando sobre un controlador que tiene un servicio web corriendo y no en una compu, aunque igual me puede servir para otra aplicación. Gracias a todos... después les cuento cómo lo resolví |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Convertir segundos a formato hora, minutos y segundos | jafera | Varios | 2 | 07-02-2009 22:13:45 |
Modificar colores de cada barra de un Tchart cargado desde una BD | richisaurio | Gráficos | 6 | 07-05-2008 17:35:51 |
Modificar colores de cada barra de un Tchart cargado desde una BD | richisaurio | Impresión | 0 | 07-05-2008 16:49:57 |
Recargar página cada N segundos | MAXIUM | HTML, Javascript y otros | 5 | 07-04-2008 21:46:31 |
download periódico | tcp_ip_es | Internet | 13 | 14-10-2005 17:00:27 |
|