Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/06/2011, 10:36
Avatar de afrika026
afrika026
 
Fecha de Ingreso: junio-2011
Mensajes: 85
Antigüedad: 12 años, 10 meses
Puntos: 19
Respuesta: Envio de archivo binario a traves de socket

me parece que el error esta en esta linea correspondiente al servidor:

leidos = atoi(buf2);

lo que vos queres hacer con esta linea es saber el tamaño en numero INT de datos recibidos.
Pero el problema es que lo que estas haciendo con esta linea es convirtiendo todos los bytes recibidos y almacenados en "buf2" a INT, es decir a un numero entero.

La manera de que "leídos" tenga el tamaño que ocupan los datos almacenados por "buf2" es la siguiente:

leidos = sizeof(buf2) / sizeof(char);

ó

leidos = sizeof(buf2) / sizeof(buf2[0]);

con esto estas guardando en leidos la cantidad de elementos que tiene el array "buf2"