[fpc-pascal]Nonblocking socket - end of socket

Georgi Georgiev skelet_bg at yahoo.com
Wed Sep 17 06:46:59 CEST 2003


 --- Sebastian_Günther <sguenther at gmx.de> wrote: >
Georgi Georgiev schrieb:
> 
> > There is another way, if you use file descriptor
> calls
> > for non-blocked socket:
> > 
> > ...
> > count:=fdRead(socket,data,size);
> > socket_eof:=(count=0) and (LinuxError=0);
> > ...
> 
> eeehm normally fdread returns -1 for closed sockets,
> so you can obmit 
> the LinuxError part and just write:
> 
> socket_eof := count <= 0;
> 
> This will work both for files (where zero means EOF)
> and sockets (where 
> -1 means error, such as broken pipe)
>

I think that if the socket (or file) is in nonblocking
mode, 
count may be -1, and  LinuxError=11 { Err_TryAgain }
means that connection is OK, but there is no incoming
data
(input is not finished).

 
> 
> - Sebastian
> 
> 
> _______________________________________________
> fpc-pascal maillist  - 
> fpc-pascal at lists.freepascal.org
>
http://lists.freepascal.org/mailman/listinfo/fpc-pascal 

=====
Skelet
====== http://skelet.hit.bg

________________________________________________________________________
Want to chat instantly with your online friends?  Get the FREE Yahoo!
Messenger http://mail.messenger.yahoo.co.uk




More information about the fpc-pascal mailing list