socket programming (BSD like)

Richard Willmann, PC Revue rwillmann na pcrevue.com
Úterý Únor 5 17:47:51 CET 2002


> Nevim, jestli jsem presne pochopil na co se ptate, ale asi to tak uplne
> nebude.
> select(), resp poll(), Vam jenom rekne _ze_ ze socketu je mozna cist, nebo
> do nej zapisovat, ale nerekne Vam kolik toho muzete precist/zapsat, aby se
> to nezablokovalo.
>
> Takze pokud se chcete vyhnout zablokovani uvnitr read(), resp() write,
> budete muset ten socket oznacit jako neblokujici.

ano, selekt resp. poll povie ze da sa citat/pisat/vyskytla sa chyba. otazkou
je, ze ci ak zavolam read() s bufferom velkosti 10KB sa mi vrati 1KB (to co
uz je pripravene v kerneli) alebo to bude cakat na dalsich 9KB. Pri read() a
write() je napisane, ze to moze vratit menej nez je velkost bufferu a preto
treba citat dokola az kym to nevrati nulu ze EOF.

Btw: nie je tam nejaky watermark? tusim som niekde videl, ze sa da nastavit
velkost kerneloveho bufferu pre citanie/zapis.

rwi



Další informace o konferenci Linux