Problema al pasar archivos por sockets en C

  • 0 Respuestas
  • 780 Vistas

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

Desconectado Frijolito

  • *
  • Underc0der
  • Mensajes: 81
  • Actividad:
    0%
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil

Problema al pasar archivos por sockets en C

  • en: Febrero 23, 2019, 01:28:27 pm


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) [Seleccionar]
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) [Seleccionar]
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.
« Última modificación: Febrero 23, 2019, 07:22:53 pm por Frijolito »