envoi d'un fichier à un client web
Bonjour,
voila mon probleme..
Mon script C ouvre un fichier, puis l'envoie au client, via http.
Jusque la rien d'anormal.
Le soucis c'est que sur ce que j'envoie, je n'arrive pas a contrôler ce que le client a déja recu, ce qui a pour conséquence que.
- Si mon fichier fait 500 Mo
- Si mon client n'a téléchargé que 1 Mo
- Le script, lui à envoyé les 500 Mo!
=> Résultat, le serveur http (lighthttpd) consomme plus de 500 Mo de mémoire vive, et le script C rien, et il se termine tranquillement..
quelqu'un à une solution? ^^
mon bout de code:
Code:
1 2 3 4 5 6 7
|
while (g < byte_fin)
{
l = pread(m,buffer,SIZE_BUFFER,g);
fwrite(buffer,l,1,stdout);
g+=l;
} |