title: Java socket: Pushing requests to client through socket
body: <p>I'm currently making a client-server application which primarily is built to make procedure call to a server and wait for a packet response.</p>
  
  <p>however i would like to make the server 'push' news out to the client (at a spontaneous time), but that seems to be a problem if the message arrives when the client listens for another packet response.</p>
  
  <p>Is there a way to split a socket into 2 unique channel streams, through the same socket instance? Or would it be better to make a client thread which only listens for incoming connections and dispatches them to a queue?</p>
  
  <p>What are some common patterns and practices when working with 2-way client-server connection? (Where streams occur spontaneous)</p>
  
  <p>For reminders i'm using Java Socket, ObjectInputStream and ObjectOutputstream. i'm not using Java RMI.</p>