Zavirani socketu

Michal Krause michal na krause.cz
Sobota Duben 14 17:41:27 CEST 2001


Zdravim,

vyvstal mi tu takovy zajimavy problem. Mam aplikaci, ktera stahuje pres
HTTP pomerne znacne mnozstvi dokumentu z ruznych serveru. Paklize je
odpovedi redirect, stahuje se i stranka, na niz presmerovani vede. Neni
pouzito HTTP 1.1 a KeepAlive, takze kazdy pozadavek znamena nove
zalozeni socketu, volani connect(), odeslani requestu, cteni odpovedi a
nakonec zavreni socketu pomoci close(). Cela aplikace je jednoprocesova
a vice spojeni je zpracovavano asynchronne pomoci non-blocking operaci.

Potiz je v tom, ze se mi nekdy (vice mene nahodne) stane, ze druhy
connect po presmerovani vrati chybu EISCONN, ackoliv je zcela
stoprocentne volan az _po_ uzavreni predchoziho socketu pomoci close().

Vedel by nekdo, v cem muze byt problem, pripadne jak tomu zabranit?

S pozdravem
-- 
Michal Krause                                                       /\
ICQ: 7665279            Informace (nejenom) ze sveta Linuxu      /\/  \
email: michal na krause.cz _______ http://www.root.cz/ _______ NAVRCHOLU.cz

Vseci by chceli byt van Goghmi, ale odrezat si ucho ani jeden.
                                                  J. Raz ve filmu Rabaka


Další informace o konferenci Linux