FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Enviar y recibir archivos binarios sockets
Hola:
Despues de buscar , buscar y rebuscar no he tenido valor a encontrarme con un codigo que funcione, he probado muchos de muchas pags incluyendo esta pag y nada no tengo valor a enviar y recibir archivos con los componentes sockets que trae delphi 2009 por defecto, y bueno el caso es que yo quiero enviar desde el servidor al cliente un archivo .dat y bueno aver si alguien me puede proporcionar algun codigo que funcione por que es que ya me rindo me he tirado aqui dias y dias buscando hasta en pags rusas y nada xd bueno el fin de esto es que estoy haciendo una aplicacion client/server y tengo un filemanager entonces yo al extraer todos los archivos y carpetas de un directorio uso una funcion que extrae el icono que tiene cada archivo o carpeta y ese icono lo almaceno en un TImageList en el server entonces guardo los recursos del imagelist en un archivo .dat para enviar al cliente y cargarlo en otro imagelist y cargar cada icono a su respectivo directorio o archivo en el cliente y eso jejee.... PD: Solo encontre para la verdad un codigo pero solo envia .txt y de peso limitado... Gracias de antemano. |
#2
|
||||
|
||||
Hola Maxinito, Te comento, esto es muy sencillo, Creo que en D2009 ya viene con los componentes Indy.
La teoria es la siguiente. (por lo menos asi lo Hago yo). Primero Mando un mensaje desde el origen, con El nombre del archivo y el Tamaño. en el Receptor tomo el nombre del archivo y el Tamaño. Luego envio un Stream desde el Origen. En el receptor, Recibo el Stream hasta que el tamaño sea el mismo que en el Cliente. El codigo esta hecho para componentes Indy 10 saludos
Este Codigo envia esos mensajes y utiliza laClausula RcvFile ya que utilizo el mismo Socket para todo. Otra opcion seria abrir una nueva comunicacion por un puerto distinto y se podria continuar recibiendo mensajes mientras se recibe el archivo, en el caso que se trate de un Chat. saludos y espero que sea util. Última edición por Enan0 fecha: 04-07-2011 a las 02:21:54. |
#3
|
|||
|
|||
voy a probarlo tiene buena pinta es facil y comprensible el codigo aunque me hubiese gustado mejor el codigo para usarlo con los componentes socket que trae por defecto delphi 2009 y no los indy pero bueno aun asi te doy mil gracias saludos.
edito: que componente tengo que añadir de la paleta indy 10 para que no me tire errores de objeto no declarado? Última edición por maxinitto fecha: 04-07-2011 a las 14:21:32. |
#4
|
||||
|
||||
Pero.. D2009 no trae los indy?.. yo habria jurado que si.
Bueno no cambia mucho, Siemplemente mandas un Stream. si tengo un rato me fijo como seria. |
#5
|
|||
|
|||
pues claro que trae los indy , los indy 10 pero te pregunto que, que componente de esa paleta tengo que añadir al form jejejej
|
#6
|
||||
|
||||
Bueno yo utilize para ese ejemplo en uno. Un server IDTCPserver Que utiliza hilos, si no estas familiarizado con ellos podes usar un idSimpleServer.
y en otro proyecto un idTCPClient. este caso era porque usaba solo una conexion a un unico Server. Las variantes te las dejo a vos. Aclaracion: el procedimiento Server.ServerExecute (...) es el OnExecute del componente idTCPServer. espero que te quede claro y sino cualquier cosa decime. ya que es lo mismo que enviar mensajes (TExto) solo que usamos el Procedimiento WriteStream() para enviar y el ReadStream() para recibir saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Enviar y recibir archivos con TCPCliente y TCPServer | victork_py | Internet | 4 | 16-07-2015 01:42:01 |
archivos binarios | kazcote | Varios | 5 | 05-12-2005 04:02:35 |
Enviar y Recibir Archivos (Codigo para hacerlo) | juliopag1 | Internet | 0 | 17-05-2005 21:22:44 |
¿Cómo puedo enviar y recibir archivos vía IRC con el componente TIdIRC? | DarkByte | Internet | 4 | 26-06-2004 17:54:05 |
archivos exe y/o binarios | fcran | Varios | 2 | 26-06-2003 14:34:21 |
|