Client/Serveur Prb de Receive()

Matrix++ Messages postés 49 Statut Membre -  
denligne Messages postés 213 Statut Membre -
salut mes amis voila la code qui me cause vraiment problème:
je travaille avec MFC la classe CAsynSocket

int taille;
char buff[256];
int file = open("copie.txt",
_O_WRONLY|_O_TEXT | _O_CREAT) ;//ouverture en ecriture en mode
//texte
if(file == -1){MessageBox("Erreur d'ouverture de fichier texte");}
if(a==false) {taille=atoi(buff); a=true;}
sock2.Receive(buff,strlen(buff));
MessageBox(buff);
while(taille>0)
{
sock2.Receive(buff,256,0) ; //reception des donnees
write(file,buff,strlen(buff)) ; //ecriture du buffer
taille = taille - 256 ;
memset(buff,0,256) ;
}
close(file) ;// fermeture du fichier

dans ce code là le serveur essaye de recevoir un fichier envoyé par le client !!!!!!MAIS mon problème la focntion receive !! elle ne recoie pas les données comme il faut !!!! je sais pas koi faire alors s'il y a des novices parmi vous qu'ils m'aide car je dois rendre le travail dans le plus proche possible !!!!
Cordialement
@+
A voir également:

1 réponse

denligne Messages postés 213 Statut Membre 53
 
Soir,

Bon je sais plus bien parceque ca fait un moment que j'y ai pas touché (DSL, je fais plus dans Nux maintenant...bref!).

J'ai eu un problème du genre parceque le fichier est ouvert en texte, alors qu'il faut l'ouvrir en binaire. Effectivement certains caractères sont pas lus (merci Windows qui sait pas lire tous les caractères au dessus de 128)!

J'ai utilisé un truc de ce genre:
###########################
try
{

FileOutputStream output = new FileOutputStream(fichier) ;

char chars[]=texte.toCharArray();

for ( int a=0; a<texte.length() ; a++ )
{
output.write( (int) chars[a] ); // force l'écriture caractère par caractère pour garder la valeur décimale réelle
}

//flush envoie dans le fichier, ne pas oublier cette methode pour le BufferedWriter
output.flush();

// fermine et passe à vrai le résultat
output.close();
value=true;

}
catch(Exception e)
{
value=false;
}
###########################

(j'ai sorti le truc d'un prog que j'avais écris, tu le remettrasdans son contexte!)

Dans le sens de lecture c'est pareil, et j'avais galéré aussi un moment...

En espérant pas être trop à coté de la plaque.
0