casper_2
Messages postés93Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention30 mai 2005
-
17 janv. 2005 à 12:47
casper_2
Messages postés93Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention30 mai 2005
-
17 janv. 2005 à 17:08
Excuser moi,bonjour.J'ai un leger problem avec les sockets.
kan je te recupere les données d'un fichier zipé sur un serveur,a l'ouverture de ce fichier,on le dit k'il est corrompu.
De plus,j'ai remarquer kil est differement du fichier d'origine.
Quelkun pourrait til maider svp.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 17 janv. 2005 à 17:01
Salut,
Pas exactement, disont que quand tu recois la reponse http, tu as la taille du fichier, et cette taille peut te servir a controler si la taille des données que t'a envoyé le serveur est correcte.
Tu n'est pas obligé de le faire, mais je trouve que c'est une sécurité.
Aussi je pense que tu devrais utiliser un buffer de reception plus grand (plusieurs Ko).
Voila,et kan je souhaite lire mon "ok.zip",il me dit kil est corompu et j'ai remarquer kan je le techarge depuis internet explorer,pour verifier si les donné sont idem,ben c legerement differement,je pense ke sa mon problem!
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 17 janv. 2005 à 15:40
Salut,
Apres que tu ai envoyé ta requetes, tu écris tout ce que tu recois directement dans le fichier... sans enlever la reponse http du serveur. Il faut commencer a écrire apres avoir recu et traité la reponse http (car contient la taille exacte du fichier téléchargé).
Vous n’avez pas trouvé la réponse que vous recherchez ?
casper_2
Messages postés93Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention30 mai 2005 17 janv. 2005 à 15:47
Ben justement peut tu me doner un peu la syntaxe,car moi g fè ainsi,mais elle ne ma pa l'air optimiset et coherente.si tu a meiux,ecrit la moi stp,car je joue trop sur la taille de tampon,sa menerve..merci
//ici c le bloc d'en tete,ki n'est pa copier
send(sd1,requete,strlen(requete),0);
recv(sd1,tampon,268,0);
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 17 janv. 2005 à 16:00
Salut,
L'entete n'est pas de taille fixe, elle est terminée par un \r\n\r\n.
Donc une fois que tu as envoyé ta requete, tu écris tout ce que tu recois dans un buffer tant que tu n'a pas recu le \r\n\r\n, puis tu analyse le buffer pour trouver la taille de fichier (je pense que c'est indispensable) et enfin a partir de la tu écris tout ce que tu recois dans le fichier.
casper_2
Messages postés93Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention30 mai 2005 17 janv. 2005 à 16:13
aardman,je te remercie de bien vouloir m'aider,,mais franchement j'orai du mal a faire la syntaxe,tu vois c la fin de programme,sinon tout fonctionne et en plus c pour un stage.
Stp,sa ne serait pa possible ke tu me passe la syntaxe stp.
Sinon g pa trob bien compris kantu le dis ke janalyse le buffer.
merci
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 17 janv. 2005 à 16:35
Salut,
C'est pas trop mon style de coder pour les autres, désolé.
Sinon par "analyser le buffer", je voulais dire qu'il fallait extraire les infos qui t'interessent du buffer qui contient la reponse http, c'est a dire: la taille du fichier, et le numéro de réponse du serveur (200 si tout va bien).
Dans mon prog "telecharger un fichier" present sur ce site, c'est la fonction ParseHeaderHttp() qui analyse la reponse du serveur http.
casper_2
Messages postés93Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention30 mai 2005 17 janv. 2005 à 16:45
Avant de cloturer se sujet,je recapitule,cke tu ma dis.
dans ma premiere reception ,tant ke tampon est different de \r\n\r\n,je copie dans un buffer ce ke je recois,puis je preleve la taille du fichier.
Je refais un nouvelle reception en precisant maitenant,la taille du fichier kom buffer,, c ca?
CASPER