I would like to ask you some advice on the following issue. I am interested
in using non-blocking sockets. I have implemented a daytimetcp client/server
application with the client part in an lwip/nucleus system using both blocking
and non blocking sockets (in both cases it works allright now thanks to
your advice). Nevertheless, I have noticed that in some cases the connect
call works as unexpected:
When I run the client using non-blocking sockets, I receive the message
perfectly, but when the connect is called, the errno received is 0 (OK).
Shouldn´t it answer with an EINPROGRESS (115)?? I have had a look at the
code in sockets.c and I see no place where the EINPROGRESS code is set
into the errno. Might this not be implemented???
Another I am worried about is the fact that having the system off the network,
when I run the client, the connect call answers not immediately. It waits
a few seconds before returning a 103 errno
(CONNABORTED). Shouldn´t a non-blocking connect answer immediately with
either an EINPROGRESS or an error????
I have used the ioctl function in order to set my socket to non-blocking.
I have done so due to the fact that I assume that the fcntl function does
not exist in the lwip sockets layer. Am I right???
Thanks a lot for your help!!!!!!!!! It is always very helpful!!