Jak na serveru poznat, ze spadl klient?

Stanislav Meduna stano-cznews na meduna.org
Pondělí Březen 24 20:05:02 CET 2003


On Mon, 24 Mar 2003 15:19:14 GMT, Miroslav Prymek wrote:

: (ocekaval bych, ze dostane nejaky signal - nejspis SIGPIPE, nebo vrati
: EPIPE)

Ak si to pamatam dobre (blokujucu komunikaciu som uz dlho
nepouzil), v pripade straty spojenia vypadne z readu
a vrati nulu.

: RESENI1: Pouzit neblokujici socket. To se mi ale moc nechce,
: protoze ho pak musim periodicky kontrolovat, coz znamena
: systemove prostredky, narozdil od blokujici verze.

Standardne riesenie je neblokujuci socket a select.

Precitajte si Unix Socket FAQ - je tam odpoved snad na vsetky
otazky, ktore sa pri programovani socketo vyskytnu.
http://www.developerweb.net/sock-faq/

Pokial sa nechcete bavit s tymito low-level vecami a nevadi Vam C++,
existuje pekna kniznica ACE - http://www.cs.wustl.edu/~schmidt/ACE.html
Obsahuje hotove frameworky pre komunikaciu vsetkeho mozneho druhu,
je velmi slusne platformovo nezavisla a licencia nerobi problemy
s pouzitim aj v komercnych programoch.

Zdravi
-- 
                               Stano



Další informace o konferenci Linux