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...

Why does connect() succeed even before my server did an accept()?

Answer Posted / chaitanya

Once you have done a listen() call on your socket, the kernel is primed to accept connections on it. The usual UNIX implementation of this works by immediately completing the SYN handshake for any incoming valid SYN segments (connection attempts), creating the socket for the new connection, and keeping this new socket on an internal queue ready for the accept() call. So the socket is fully open before the accept is done.

The other factor in this is the 'backlog' parameter for listen(); that defines how many of these completed connections can be queued at one time. If the specified number is exceeded, then new incoming connects are simply ignored (which causes them to be retried).

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How is a socket created?

964


What's the difference between a socket and a port?

887


What is socket address with example?

901


Why do we need sockets?

883


What is active unix domain sockets?

947


What pieces of information make up a socket?

999


What is the purpose of socket?

953


How can I tell when a socket is closed on the other end?

1386


Why does the sockets buffer fill up sooner than expected?

1382


Why sockets are used?

932


How many sockets can a cpu have?

884


Can multiple sockets use the same port?

917


How do I use TCP_NODELAY?

1600


What exactly is a socket?

990


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

1405