2012/5/19 Andreea Hodea <[email protected]>:
> Deci, pentru a trimite un fisier pe bucati trebuie sa folosim urmatorul 
> format?
> HTTP/1.1 200 OK
> Transfer-Encoding: chunked
>
> dimensiune_chunk_1
> chunk1
>
> dimensiune_chunk_1
> chunk2
>
> ...
> 0
>
> Si pentru fiecare chunk se trimit primele doua randuri din antetul HTTP? Si 
> atunci, nelamurirea cu sendfile ramane in picioare: send("HTTP/1.1 200 
> OK\r\n""Transfer-Encoding: chunked\r\n""\r\n""dimensiune_chunk_1\r\n") + 
> sendfile(chunk)?
>

Bună, Andreea!

Dimensiunea fișierului nu trebuie specificată decât o dată, în
headerul "Content-Length" trimis odată cu restul antetului HTTP. Apoi
se trimit datele, pe același socket, chunk după chunk până ce tot
fișierul a fost trimis.
Prin urmare, secvența de operații ar fi:
send("HTTP/1.1 200 OK\r\nContent-Length: $size\r\n\r\n") + sendfile(chunk)

-- 
Răzvan Crainea
_______________________________________________
http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii

Raspunde prin e-mail lui