begin process at 2012 02 10 13:08:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Réseau & Internet

 > 

Envoi de fichier non complet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoi de fichier non complet

lundi 4 décembre 2006 à 21:39:17 | Envoi de fichier non complet

trafounet

bonjour à tous,
je cherche à envoyer un fichier par socket et ca marche pour les fichiers de petite taille (quelques ko) mais malheuresement dès que le fichier choisit est trop grand, il n'est pas lu jusqu'à la fin

    FILE *file;
    char msg[1024];
    ZeroMemory(msg,1024);
    file=fopen("test.bmp","r");
    int read=0;
    int total=0;
    while(1)
    {
        read=fread(&msg,1,1024,file);
        send(s,msg,read,0);
        total+=read;
        ZeroMemory(msg,1024);
        printf("octets envoye: %d\n",total);
        if(read<=0)
            break;
    }
    printf("envoi termine\n");

je comprend pas vraiment d'où l'erreur peut venir, mais j'ai testé plusieurs fois et a chaque fois le fichier envoyé est incomplet

merci d'avance
mardi 5 décembre 2006 à 09:28:17 | Re : Envoi de fichier non complet

yoyo269

Membre Club
Salut trafounet,

ta boucle while(1) est une mauvaise idée essaye plutôt qq chose de ce style :
...
while((read = fread(&msg, 1, 1024, file)))
{
     send(s, msg, read, 0);
     total += read;
}
fclose(file); // A NE PAS OUBLIER, tout fichier ouvert doit être fermé

Tiens-moi au courant !

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

mardi 5 décembre 2006 à 13:45:09 | Re : Envoi de fichier non complet

deck_bsd

Membre Club
Yoyo à raison, les boucle infinie sont une très mauvaise idée. Mais je ne pense tout de même pas que ce soit cela qui fasse planter le programme :s , il faudrait voir un peu plus de code .

++
deck_bsd
___________________________________
[ [ Lien ]]
mardi 5 décembre 2006 à 18:06:46 | Re : Envoi de fichier non complet

trafounet

Réponse acceptée !
tout d'abord merci pour vos réponses :)
ma boucle est pas plus infini que while((read = fread(&msg, 1, 1024, file))) ^^
mais c'est vrai que ça économise un peu de place
le fclose c'est de ma faute j'avai pas copié mon code en entier
sinon j'ai trouvé il fallait simplement un fopen("test.bmp","rb"); au lieu de "r", comme quoi passer pas mal de temps sur une erreur "bête" je commence à avoir l'habitude lol
mardi 5 décembre 2006 à 18:35:07 | Re : Envoi de fichier non complet

yoyo269

Membre Club
LOL je l'avais même pas vu celui-là !!!
Pourtant ça m'est déjà arrivé ce truc.

PS: ta boucle n'est pas infinie mais utiliser un break pour sortir de la boucle alors qu'on peut facilement faire autrement, c'est à éviter. C'est pas la taille de code qui joue en fait.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

mardi 5 décembre 2006 à 18:56:55 | Re : Envoi de fichier non complet

trafounet

oki merci du conseil!
sinon juste une petite question qui n'a pas grand chose à voir avec le sujet ^^
tu es à qu'elle école d'info? (si tu en as une) parce que moi ca commence à se rapprocher pour l'orientation lol (je suis en term s) et je pense aller à supinfo (si yen a qui connaissent... ou une autre école d'info)

mardi 5 décembre 2006 à 19:02:24 | Re : Envoi de fichier non complet

yoyo269

Membre Club
Désolé j'ai pas fait d'école d'info (IUT GEII puis école d'ingé en automatique et génie élec).
Mais t'as raison de poser la question, parce que c'est vraiment TRES important.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"



Cette discussion est classée dans : fichier, file, envoi, msg, read


Répondre à ce message

Sujets en rapport avec ce message

[C] Transfert de fichier par sockets [ par bonobo78 ] salut ! j'ai un petit pb pour transmettre un fichier via des sockets.En fait, je decoupe le fichier en petit bout de 1024 octets et je transmets chaqu Probleme d'ecriture et copie fichier texte [ par metek ] SalutMon but est d'etudier un fichier txt de rechercher un mot,le localiser et enfin de copier le rest de la ligne(donc les mots qui le suivent sur la Integration fonction C [ par metek ] Bonjour!!Voila j'ai une ptite question sur les API!!!J'ai fait un petit programme qui liste un fichier texte cherche un mot entré et recupere le reste Problème avec ifstream [ par slashparof ] Voilà mon problème:Je fais un prog en C++ qui est censé lire dans un fichier et trouver certaines information. Pour améliorer la lisibilité de mon cod Fichiers .jpg [ par StevenJLMunn ] Bonjour à tous, je voudrais faire un crypteur de fichier .jpg.Pour faire cela je fais déja des essai il faut ke je puisse lire le fichier .jpg en mode probleme de listage de fichiers [ par Kevin972 ] salut!! je ne comprends pas la fonction ne liste rien du tout.........al'aide!!!!!!!!!!!!!!!!! voici ma fonction:#include#include#include#include#in Visual C++ et lecture de fichier [ par xakal ] J'ai des problemes avec les fichiers et C++.Plus exactement Visual C++, ce que je cherche a faire c?est de lire un fichier et l?afficher ligne a ligne Problème copie de fichier.... [ par Clonk ] Bonjour,Je voudrais copier un fichier texte dans mon appli, j'ai fais la fonction suivante://Copie d'un fichier (création du backup)int copier(char * Fichier, Debug et Visual C++ 6.0 [ par Katian ] Simple:sous visual C++ 6.0=>ifstream input;input.read(Carac, sizeof(Carac));Le read me renvoie un caractere mais en debug il me dit que c'est la fin d envoi de fichier vers url en vc++ + adresse ip internet [ par alain34270 ] bonjour,j'ai besoin d'envoyer un fichier sur un site internet (je connais le loggin et le mot de passe ftp). Existe-t-il une fonction du genre "URLDow


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,232 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales