- Instantiate a Socket object
 
         
        - Communicate with server 
          
            - Send data/requests
 
            - Receive data/replys
 
           
         
        - Close the socket
 
       
     | 
     
      
        - Instantiate a ServerSocket object
 
        - Receive connections from clients
 
        - Communicate with clients 
          
            - Recieve data/requests
 
            - Send data/replys
 
           
         
        - Close the socket
 
       
     |