Bogdan Marinca wrote:
> 
> Salut.
> Lucrez la o aplicatie care trimite automat requesturi HTTP POST catre
> un web site.
> Este foarte important aici timpul la care respectivele requesturi
> efectiv ajung sa fie preluat de scriptul care le prelucreaza pe
> site. Deoarece este nevoie sa trimit multe requesturi (zeci)
> in acelasi timp (ma rog, aproximativ)   este necesar sa fac optimizari.

Nu se poate garanta nimic in ce priveste timpul - protocolul HTTP nu
incearca sa fie de timp real.

> M'am gandit de ex sa deschid in paralel sockets HTTP cu site'ul,
> un pic inainte de timpul stabilit si sa nu trimit inca nimic pe ele

O solutie mai putin consumatoare de resurse dar mai greu de implementat
e folosirea de conexiuni persistente (keep-alive) in combinatie cu
HTTP/1.1

> si abia la momentul dat sa trimit headerul POST iar apoi sa inchid
> repede conexiunea TCP (probabil va fi un packet de TCP de tip RESET)
> pentru ca n'am nevoie si de raspunsul serverului si nu vreau sa se faca
> trafic inutil.

Ba ai nevoie - vezi mai jos.

> Intrebarile ar fi:
> 
> 1. Cat de mult pot sa tin deschis un socket HTTP cu serverul fara sa
> ma tem ca serverul va inchide conexiunea deoarece nu a primit nimic?

Depinde de setarile si incarcarea serverului, uneori serverele foarte
incarcate taie o conectare inactiva dupa 5-10 secunde. De la un minut
incolo aproape orice server va taia conexiunea.

De asemenea serverele de obicei limiteaza cite conexiuni permit simultan,
atit global cit si de la o anume adresa IP.

> 2. Cand e oportun sa inchid socketul, pentru ca nu ma intereseaza raspunsul
> dat de server, fara sa ma tem ca serverul nu a luat in seama requestul?

Imediat ce ai primit un raspuns de la server. Ai grija sa citesti macar
prima linie - cea cu codul - ca sa verifici daca nu a fost vreo eroare.
Unele tipuri de servere genereaza chiar o eroare 5xx inainte sa inchida
legatura la timeout.
 
> Multumesc mult.
> 
> PS. Evident, aplicatia va fi executata pe Linux :)
> 
> Bogdan Marinca

Paul Chitescu

-- 
 Paul Chitescu
 [EMAIL PROTECTED]  http://pchitescu.null.ro/  ICQ:22641673
 Any spammers will be painfully squeezed into /dev/null
---
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui