neblokujici zapis do socketu

Libor Chocholaty libor_ml1 na mts.cz
Pátek Únor 18 12:29:35 CET 2005


Peter Surda wrote:

>On Wed, Feb 16, 2005 at 02:22:49PM +0100, Ladislav Vaiz wrote:
>  
>
>>Melo by se to chovat tak, ze nekolik write() pujde do bufferu jadra. Kdyz
>>jadro uzna, ze mu to staci, tak vrati EAGAIN. Vy si musite nekde
>>zapamatovat, kolik dat jste uz zapsal.
>>    
>>
>Ja to na suboroch oskusane nemam, len na socketoch, a tam to funguje presne
>ako si to popisal.
>
>  
>
>>Pak cekejte select(n,NULL,&wfd,NULL,tv) dokud nemuzete opet zapisovat a
>>pokracujte v zapisu.
>>    
>>
>Lepsie je podla mna robit najprv select a az potom skusit write, lebo to
>vyzera cistejsie.
>
>  
>
>>Pokud write vrati jinou chybu, prestoze byla udalost na wfd, tak asi doslo k
>>preruseni spojeni. (Neodzkouseno, read se takto chova, tak si myslim, ze u
>>write to bude stejne).
>>    
>>
>Aj toto sa tak chova (pri socketoch).
>
>Ale kedze socket je tiez len filedescriptor, pri suboroch to snad bude
>rovnake. Len si niesom isty, nakolko to jadro rozlisuje, resp. ci to ma nejaky
>zmysel :-).
>
>  
>
>>La'd"a
>>    
>>
>S pozdravom,
>
>Peter Surda (Shurdeek) <shurdeek na routehat.org>, ICQ 10236103, +436505122023
>
>  
>
Diky za osvetleni problematiky neblokujicich zapisu. Nejspis se na to 
vykaslu.

Libor




Další informace o konferenci Linux