Iv'e been reading some tutorials on winsock programming and everything I read says that you only need to bind to a port as a server but not as a client.

Now the understanding I have is that a socket runs out of a port on one machine and into a port on another, sorta like water traveling thru pipes (sockets being the water)

And the question that I dont get is why dosn't a tcp client need to bind to a port to get to another port?

(Oh by the way this is my first post so hi everyone )