Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

How would I put my socket in non-blocking mode?

Answer Posted / chaitanya

Technically, fcntl(soc, F_SETFL, O_NONBLOCK) is incorrect since it clobbers all other file flags. Generally one gets away with it since the other flags (O_APPEND for example) don't really apply much to sockets. In a similarly rough vein, you would use fcntl(soc, F_SETFL, 0) to go back to blocking mode.

To do it right, use F_GETFL to get the current flags, set or clear the O_NONBLOCK flag, then use F_SETFL to set the flags.

And yes, the flag can be changed either way at will.

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is socket programming in java?

796


What is the difference between read() and recv()?

1903


Why do we need sockets?

760


What's better 6pt or 12pt sockets?

775


Can multiple clients connect to same socket?

849


Why do I get EPROTO from read()?

1393


How does unix socket work?

843


What are the types of sockets?

873


Why sockets are used?

841


Why does it take so long to detect that the peer died?

1456


How many sockets can a cpu have?

799


Are sockets files?

820


What are the pros/cons of select(), non-blocking I/O and SIGIO?

1312


How do unix sockets work?

796


Can multiple sockets use the same port?

820