Estoy haciendo un programa y necesito que se puedan pasar archivos a través de los sockets pero el programa se queda pegado el server el cual enviá el archivo y el cliente se pega, también abrir el archivo en modo binario (no se si se dice así) y tampoco funciono . Gracias de antemano.
Esta es para enviar.
void EnviarArchivo( int sock, char Name_file[50] ){
FILE *file;
file = fopen(Name_file, "r");
char Buff[1000];
while( fgets( Buff ,1000 ,file) != NULL ){
send(sock, Buff, sizeof(Buff), 0);
}
send(sock, "Listo.", sizeof("Listo."), 0);
fclose(file);
y esta parte es para recibir.
void RecibirArchivo( int sock, char Name_file[50] ){
FILE *file;
char Buff[1000];
file = fopen(Name_file, "w");
while(strcmp(Buff,"Listo.")){
recv( sock ,Buff ,1000 , 0 );
if(strcmp(Buff, "Listo.")){
fputs( Buff, file );
}
}
fclose(file);
Si necesitan otra parte del codigo editare el post.