title: Why client do socket binding in connection oriented communication and not in connection less communication
body: <p>I was brushing up my sockte programming knowledge and came across a doubt.</p>
  
  <p>First let me explain my understanding of sockets.</p>
  
  <ol>
  <li>Socket binding associates the socket with port.</li>
  <li>Socket binding helps kernel to identify the process to whom it should forward the incoming packet.</li>
  </ol>
  
  <p>In connection oriented communication socket establishment is as below </p>
  
  <ul>
  <li>At server side 
      socket()-->bind()-->listen()-->accept().....</li>
  <li>client side is 
      socket()-->connect-->......</li>
  </ul>
  
  <p>My question is why client need not bind to a socket. In client case if it send a request it has to get a response to its socket and kernel has to forward it to its process.For these things to happen isn't binding needed?If not how kernel will understand to whom to send the response packet?
  Also in connection less client call bind socket.Why is it needed here?</p>