• Sábado 20 de Abril de 2024, 05:10

Autor Tema:  Enviar archivo por TCP/IP .Como se puede hacer?  (Leído 3526 veces)

boke

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Enviar archivo por TCP/IP .Como se puede hacer?
« en: Jueves 6 de Mayo de 2010, 15:10 »
0
Buenas,

mi problema es el siguiente:

Tengo que realizar un proyecto basado en cliente/servidor por TCP/IP. Debo mandar un archivo imagen *.bin desde el cliente al servidor para que se guarde en una memoria flash y se pueda ejecutar desde alli (bootloader). Poseo el codigo fuente del servidor en el dispositivo en c++, el cual esta realizado para UDP, y lo he modificado para recepcion TCP.  Ahora quiero implementar el cliente para que pueda enviar el archivo imagen por TCP. Quiero hacerlo con C++ Builder y me he relacionado con algunos componentes como ClientSocket. He utilizado SendBuf () pero con eso se envia un numero determinado de bytes, los que le indiques.

He leido que con TCP no hace falta partir el archivo porque eso ya lo hace el mismo protocolo (solo haria falta partirlo con UDP). Mi pregunta es , si no hace falta partirlo y enviar paquetes con un tamaño fijo de bytes por ejemplo, como se puede indicar directamente que envie el archivo?
Porque basicamente lo que he hecho es crear un struct con varios campos ( la relleno con posicion en el archivo de la parte enviada, longitud de la parte enviada, buffer de bytes de datos fijo abriendo el *.bin en binario), copio la struct a un buffer con tamaño mas grande que la struct  y envio el buffer con SendBuf indicandole el tamaño de la struct, siempre fijo. Para el envio utilizo el Ttimer para que cada cierto tiempo haga el envio. Si el intervalo del timer es muy pequeño a veces me manda dos estructura en un mismo paquete.

Alguien tiene una idea de como hacerlo, me la puede comentar? (basicamente como enviar un archivo por tcp con el builder) lo agradeceria mucho porque ando un poco perdido. He leido mucho en internet pero no he encontrado nada claro. Otra pregunta es si tendria que implementar un codigo de recepcion en el cliente para la recepcion de los paquetes que se envien desde el dispositivo que posee el servidor o si lo que quiero es solo enviar el archivo no hace falta.

Gracias y a ver si me podeis echar una manoo.
Un saludo.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Enviar archivo por TCP/IP .Como se puede hacer?
« Respuesta #1 en: Sábado 8 de Mayo de 2010, 13:54 »
0
No podes mandar todo junto, busca en Google, ejemplos hay miles.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.