2015-05-25 13:12 GMT+03:00 Adrian Stanciu <[email protected]>:
> 2015-05-25 12:31 GMT+03:00 Georgiana Diana via so <[email protected]>: > > Salut, > > Atunci cand raspundem unui request de la un client, trebuie sa trimitem > si > > un antet HTTP (200 sau 404, dupa caz), dupa care sa trimitem fisierul. Am > > doua intrebari legate de acest lucru: > > > > 1) Este okay sa trimitem antetul cu functia send [1] (prin apeluri > repetate, > > pentru ca socket-ul nu permite o dimensiune foarte mare a bufferului) sau > > exista un mod mai elegant de a face acest lucru ? > > Da, este ok. Pe Windows, TransmitFile() are un parametru > lpTransmitBuffers pentru a preciza un header/trailer. > > > 2) Daca trimit mai intai antetul si apoi fisierul, atunci cand se compara > > fisierul obtinut de client si cel initial, trimis de server, cmp esueaza, > > pentru ca in fisierul primit de client se afla si antetul. Am vazut ca in > > testele care testeaza (scuze de repetare) existenta antetului (de ex, > testul > > 13), se foloseste redirectare catre un fisier, iar testele care compara > cele > > doua fisiere (sursa si destinatie), folosesc wget (de ex, testul 17). Nu > imi > > dau seama cum sa rezolv aceasta problema, anume faptul ca apare si > antetul > > HTTP in fisierul primit de client. > > wget nu ar trebui să salveze răspunsul HTTP în fișier. Asigură-te că > răspunsul HTTP trimis de tine este corect și conține: > * linia de status > * header-ele Content-Type, Content-Length, Connection > * linie goală (CRLF) > > Vezi exemple de headere HTTP la [2]. > Dacă problema nu este de aici, revin-o cu mai multe detalii. > > > > > [1] http://linux.die.net/man/3/send > > > > [2] http://elf.cs.pub.ro/so/res/teme/tema5-util/http-parser/test.c > > Adrian > Salut, Mersi de raspuns, am rezolvat problema :) La header era baiul, trimiteam un dummy header si am uitat sa adaug lungimea efectiva a fisierului trimis. Am modificat Content-type sa fie "application/octet-stream". Este okay tipul asta ? -- *Georgiana Diana Ciocirdel* Polytechnic University of Bucharest, Computer Science
_______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
