I'm studying Java and am following this client and server example, but I'd like to understand the difference between a socket and a port. If a server serves web pages on port 80, then how can thousands of clients connect to that port? What is the difference between a port and a socket?
I know there's a limit on the number of ports, but is there a limitation on the number of sockets?