Problema al pasar archivos por sockets en C

Iniciado por Frijolito, Febrero 23, 2019, 01:28:27 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 23, 2019, 01:28:27 PM Ultima modificación: Febrero 23, 2019, 07:22:53 PM por Frijolito


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.


Código: c
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.


Código: c
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.