lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [lwip-users] Non Blocking Socket ?


From: Tim Robbins
Subject: RE: [lwip-users] Non Blocking Socket ?
Date: Mon, 5 Sep 2005 09:19:42 +1000

As David Haas points out, select() definitely does work in lwIP 1.1.0. I can
also confirm that recvfrom() works correctly on a non-blocking socket. One
thing to note is that lwIP expects ioctl FIONBIO's 3rd argument to be a
u32_t *, not an int * (as on BSD); this might cause problems if you reuse
existing socket code on lwIP with a 16-bit CPU.

--
Tim Robbins
Teragen International Pty. Ltd.   

> -----Original Message-----
> From: address@hidden 
> [mailto:address@hidden On 
> Behalf Of Frédéric BERNON
> Sent: Saturday, 3 September 2005 12:14 AM
> To: Mailing list for lwIP users
> Subject: [lwip-users] Non Blocking Socket ?
> 
> Hello there,
> 
> I try to use a SOCK_DGRAM socket in a non-blocking mode. I 
> would like to have a code like this :
> 
> While(True)
> if (sendto( socket, ....)>=0)
>  { if (recvfrom( socket...)>=0)
>     { do job
>     }
>  }
> 
> My problem is that the recvfrom is block the process. So, if 
> the peer never answer (or if the packet is lost), the 
> recvfrom never returns and my process is dead. I have try 
> SO_RCVTIMEO option, but it seems it is not support by lwIP. I 
> read in the lwIP.pdf document (Adam Dunkels, Feb 20, 2001, 
> chapiter 17) that "select" is not supported.
> 
> So, How can I do to do a code like this, with a timeout on recvfrom ?
> 
> Note I use a lwIP 1.1.0 on a multithread OS. Perhaps a bug in 
> our sys_arch ?
> 
> Thanks
> 
> 
> ==============================
> Frédéric BERNON
> HYMATOM SA
> Chef de projet informatique
> Microsoft Certified Professional
> Tél. : +33 (0)4-67-87-61-10
> Fax. : +33 (0)4-67-70-85-44
> Email : address@hidden
> Web Site : http://www.hymatom.fr
> ============================== 
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]