c'est vrai.
en verifiant le handle il est bien valide et je recupere a present la taille du fichier mais maintenant il envoie du binaire au navigateur.
voici ce qu'il envoie au navigateur: ÿØÿà

et voici un apercu du code:
file = CreateFile(url, GENERIC_READ, 0,0,OPEN_EXISTING, 0,0);
if(file == INVALID_HANDLE_VALUE)
MessageBox(NULL,"il n'ouvre rien du tout",NULL,MB_OK);
tailleFichier = GetFileSize(file,NULL);
octet = new char[tailleFichier+1];
reponse = new char[tailleFichier+1024];
ReadFile(file,octet,tailleFichier,&nbOctetsLus,NULL);
CloseHandle(file);
if(strcmp(typeFichier, "jpg")==0)
strcpy(reponse, "HTTP/1.0 200 OK\nContent-Type: image/jpeg\nContent-Encoding: gzip,deflate\n\n\n");
if((strcmp(typeFichier, "htm")==0)||(strcmp(typeFichier, "html")==0))
strcpy(reponse, "HTTP/1.0 200 OK\nServer: MonServeur 1.0\nContent-Type: text/html\n\n");
send(acceptSocket,reponse,tailleFichier+1024,0);
delete[] octet;
delete[] reponse;
delete[] requete;
delete[] url;
delete[] sschaine1;
delete[] sschaine2;
closesocket(acceptSocket);
tout ce code est contenu dans la boucle de reception des requetes
la variable taille fichier recoit bien 1072 pour la 1e requete et 167010 pour la seconde requete donc il ouvre bien le fichier jpeg.
mais il envoie des hieroglyphes au navigateur