Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Admittedly this is a simple question but 20 minutes of googling and I just can't find an answer... I will frame my question with an example.

say I own and my website sees 100 GET requests per second. Also let's say the average time for my server to respond to that GET request is 1 second (for the sake of the example just assume some server side processing.) My understanding of ports would say that the first client to contact my server would then block anyone else from connection to port 80 for 1 second. Following this logic, effectively only 1% of all users would actually be responded to and the rest would get "Port busy" or "not responding" or some such error.

Obviously I am missing something because this is clearly not what is happening so instead of proposing my theories as to why I'd love it if someone could set me straight here or point me to something I could read to clear this up. Thanks much.

share|improve this question
up vote 5 down vote accepted

The answer can be found in this wikipedia article:

Applications implementing common services often use specifically reserved, well-known port numbers for receiving service requests from client hosts. This process is known as listening and involves the receipt of a request on the well-known port and reestablishing one-to-one server-client communications on another private port, so that other clients may also contact the well-known service port.

Also, from this article on Berkeley sockets on wikipedia.

When an application is listening for stream-oriented connections from other hosts, it is notified of such events (cf. select() function) and must initialize the connection using the accept() function. Accept() creates a new socket for each connection and removes the connection from the listen queue.

share|improve this answer
60 seconds ahead of me AND you follow up with further information! Nice work. +1. – Jed Daniels Jul 3 '11 at 22:56
Thanks. I try my best to help. :) – sybreon Jul 4 '11 at 10:43

TCP doesn't work that way. A connection to a port from another system does not mean that port can't receive other connections. From the wikipedia article on TCP:

Arriving TCP data packets are identified as belonging to a specific TCP connection by its sockets, that is, the combination of source host address, source port, destination host address, and destination port.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.