Jak na serveru poznat, ze spadl klient?

Miroslav Prymek prymek na tiscali.cz
Středa Březen 26 16:10:32 CET 2003


Velmi se omlouvam, ale psal jsem o necem, co jsem nemel dostatecne 
otestovane.


> Mam pocit, ze stejny problem je dokonce i pri koreknim zavreni socketu
> (ale jeste jsem to dukladne netestoval).
> 
> SITUACE: Server prijme pozadavek, odpovi na nej a ceka dalsi (od stejneho
> klienta).
> Jelikoz socket je nastaven jako blokujici, thread je uspan (nejsou data).
> Jestlize
> klient v teto "dobe uspaneho serveru" socket zavre, server kliedne spi dal.
> (ocekaval bych, ze dostane nejaky signal - nejspis SIGPIPE, nebo vrati
> EPIPE)

Jakmile se klient odpoji, read na serveru vrati 0, coz podle man znamena 
EOF. Nevsiml jsem si toho, protoze read byl ve smycce, ze ktere mohl 
vypadnout jen po chybe (navratova hodnota zaporna).
Je logicky, ze blokujici varianta nemuze precist 0b dat.
Omlouvam se, ze jsem zpusobil zmatek.

MP



Další informace o konferenci Linux