Programación General > C++ Builder
Enviar Y Recibir Cualquier Archivos
GonzaloB:
:D Cree un software Cliente-Servidor en C++BUILDER 5.
Uso los componentes TNMStrmServ y TNMStrm para enviar y recibir archivos.
Lo que necesito saber es como mandar cualquier tipo de archivos
desde el Cliente al Servidor y viseversa, y que el programa que lo
reciba lo guarde con el nombre y la extensión que corresponde, por ej.:
Si el Cliente manda un archivo Notas.doc, el Servidor lo guarde
como Notas.doc, tal cual, en una dirección que yo seleccione al momento o en
otra previamente seleccionada, tipo Msn
Y lo mismo para cualquier archivo.
Yo solo puedo mandar imagenes .bmp, pero no se como identificarlo
en el otro programa para guardarlo, ya sea con su nombre original o
poder asignarle uno yo. Pero como mencioné antes, quisiera poder mandar cualquier tipo de archivos, identificarlo y guardarlo.
El programa el Cliente-Servidor según se prefiera, pero debere hacer un Cliente y un Servidor por Separado.
En resúmen, si tenés un ej. a mano sobre como mandar cualquier tipo de archivos
vía Sockets, guardarlo tal cual se los agradecería un montón. :(
JuanK:
hola, ya te respondi más atras, todo tanto el envio del archivo como el envio del nombre del archivo y etc.. debe hacerse a traves de los sockets.
GonzaloB:
Gracias JuanK por las respuesta, pero eso ya lo había pensado.
Lo traté de aplicar mandando por sockets el nombre del archivo, su extensión y su path, y el archivo por supuesto.
El problema es que cuando lo recibe el otro programa deja de responder y tengo que reiniciar la PC.
Creo que se debe a que el nombre o el archivo mismo llega a destiempo y se produce un error.
Me gustaría que me mandaran código de como lo harían Uds para saber en que fallo yo o conocer otras alternativas.
Gracias
JuanK:
no tengo codigo de C++ ni de C lo suficientemente sencillo como para que lo entiendas, es decri es que he ehcho cosas pero mumcho mas complicadas que solo enviar el archivo, de heco lo que hice en C fue abrir tres hilos cada hilo colocarlo en una posicion determinada del archivo y de ahi enviar en paralelo cada segmento de archivo a tres estaciones diferentes dentro de una red, y por supueso el proceso inverso een el cual hay un socket en cada hilo y cada uno en paralelo comienza a reconstruirr la parte del arcjhivo de manera local..
Como vez si se puede hacer, debes tener problemas en el accept o algo asi por estilo , lo mejor es que antes de enviar el archivo hagas pruebas enviando mensajes de varios tipos diferentes y luego cuando ya tengas un poco de practica le sumas en el envio del archivo.
Por cierto ahora que recuerdo no es bueno que envies todo el archivo con una sola instruccion sino que debes enviar pequeñas tramas cada vez, lo recomendado es enviar tramas de 512 K aprox. y las vas ensamblando en el cliente.
GonzaloB:
Gracias de nuevo JuanK.
Pero me podrias enviar el código que tienes al menos, soy bueno entendiendo lo que no. De todas formas al menos explic,andome como enviar 512 kb por vez, hace poco comencé a programar este tipo de software (enviar archivos en LAN) y bueno.
Una pregunta, ¿Eres Ingeniero de Sistemas?, pues yo estudio esa carrera.
¿Que edad tienes, a que edad te recibiste, como van las cosas por allá con respecto a ea carrera, hay trabajo?.
Soy de Argentina y la mayoría cambia de País al recibirse.
Muchas Gracias juank
Navegación
[#] Página Siguiente
Ir a la versión completa