 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
mgorut Cdt


Registrado: 27 Ene 2005Mensajes: 7Ubicación: Barranquilla, Atlántico; Colombia
|
Publicado: Mar 23 May, 2006 4:26 pm Asunto: Envio de archivos con TClientSocket, TServerSocket |
|
|
Necesito una ayuda urgente...
Si alguien sabe como enviar un archivo ejecutable en el socket de tal forma que se cree un archivo en el cliente...
Así como se hace en messenger de los archivos que se enviar a traves del socket... y se guardan en la carpeta de recibidos...
 |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mie 24 May, 2006 10:42 am Asunto: Re: Envio de archivos con TClientSocket, TServerSocket |
|
|
| mgorut escribió: | | Necesito una ayuda urgente...: |
Efectivamente todos necesitamos ayuda urgente!!
| mgorut escribió: | | Si alguien sabe como enviar un archivo ejecutable en el socket de tal forma que se cree un archivo en el cliente... |
Has echo algun procedimiento para ello, es decir has usado TClientSocket y TServerSocket, con alguna manera de envio y recepcion aun que sea solo el clasico hola, para poder determinar como ayudarte...
en si, esta pregunta esta dentro del foro, he dejado un enlace para enviar y recibir imagens via socket, el principio fundamental se basa en el TMemoryStream, para ello, mira tratare de ser lo mas sutil
usando una aplicacion cliente y una aplicacion servidor,
empezamos por el proceso de comunicacion...
primero el cliente envia un archivo?
ahora bien, se que es de mala educacion.. contestar con otra pregunta
pero esto es el principo de la comunicacion de los Sockets
Como le harias para decirle al otro programa que le estas enviando el archivo?
vas a enviar un SendText o un SendBuff ?
para mayor entendimiento, mira de la siguiente manera
intenta estar ciego por un rato, (je je)
que pasa si alguien te envia "algo", que es lo primero que haces.
preguntar que es? o algo por el estilo.
pues bien si tu le envias "algo" al otro socket, el otro socket no sabe absolutamente nada hasta que le hayas programado que hacer al recibir tal o cual comando, por ejemplo
pc1 - Tiene un TClientSocket de nombre Client1
pc2 - Tiene un TClientSocket de nombre Client2
| Código: | Client1->SendText("ten$Documento.doc$400") |
Client2 se pregunta y esto que es? "mi no entender"
pero si en el evento OnRead del Client2 pones algo como esto
| Código: | AnsiString Texto = Socket->RecieveText(); |
Dentro de texto- viene la frase que te enviaron
ahora bien debes tratarla y decodificarla para que la entiendas
si las 3 letras primeras son "ten" quiere decir que me estan enviado un archivo, que debo conocer como socket "nombre|tamaño|"
quedando asi la cadena
comando = "ten"
archivo = "Documento.doc"
tamanno = 400
usando el proceso de escritura de TMemoryStream *Write
todo lo que recibas lo guardas dentro del TMemoryStream, al final cuando hayas recibido los 400 bytes, entonces haces algo como esta
| Código: | tuMemoryStream->SaveToFile(archivo); |
lo grabas en el disco
donde archivo es el nombre del documento que te enviaron...
el por que de esto y no darte el codigo fuente...?
es a lo siguiente
cuando alguien hace una pregunta, con temas como urgente, rapido, necesito, sabemos por ende, que lo unico que quieren es que se les pase el codigo y no aportar nada al foro...
asi, que te recomiendo leer el siguiente Enlace<click aqui>
para despues realizar la pregunta correspondiente
algo como esto
---------------------------------------------
"Estoy usando el siguiente codigo bla bla..."
(pones el codigo)
"pero al recibir la informacion del otro lado con el siguiente codigo"
(pones el codigo)
"no se recibe correctamente el archivo es por eso que bla bla..."
entonces ahora si, muchos de los que estamos aqui te daremos la correccion de tu codigo.. o en su caso te enviaremos el programa ya echo (este es mi caso, puesto que tengo el codigo realizado...)
saludos y espero que se entienda el por que de esto...
por si no? aqui les va unos motivos.
1.- muchos de los que colaboramos en el foro, nos quemamos las pestañas trabajando dia y noche sin dormir, por funciones como esta...
al igual que tu nos desesperamos, buscando soluciones... probando y corrigiendo codigos...
Tratamos de dar soluciones.. y aprender de los demas...
y es cierto en algunos casos, pedimos ayuda a la gente del foro..
pero no se confunda con pedir ayuda a "hazme mi trabajo!!", si _Leo y Roberto, pagaran $ (jeje) por ayudar a la gente y llevar un Raiting de Respuestas acertadas... jeje muchos de los de aqui seriamos millonarios.
pero tratamos de ser felices con nuestra comunidad del BCB6
a manera personal, me inscribi hace ya un buen tiempo... pero seré sincero, pasaron muchos meses, para poder dar una respuesta correcta, con el paso del tiempo y la experiencia he podido aventajar mis conocimientos y poder dar respuestas satisfactorias (agradecimientos a los que me han echo caso.jeje)
y en algun momento pregunte y fui contestado...
bien por ultimo 2 consejos
1.- Usar la opcion buscar del Menu de arriba.
2.- Realizar una pregunta correctamente....
| mgorut escribió: | | Así como se hace en messenger de los archivos que se enviar a traves del socket... y se guardan en la carpeta de recibidos... |
en esta ultima parte espero tu codigo y si esta mal, se corrige...
saludos.... _________________
 |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|