title: Why bind a socket to an address?
body: <p>Before 'listen'ing on a socket I must first bind it to an address.  Why?  It seems to me that I shouldn't have to pick and should just listen to that port on all addresses.  Even if I bind to 127.0.0.1 though, it seems I can still connect to that socket from a remote machine.  What does binding to an address really do?</p>