title: Different approach to sockets in Java
body: <p>I am trying to write a socket application that needs to be able to distribute people connected as clients to people connected as operators, and operators should be able to respond any client.</p>
  
  <p>I have a few approaches in my mind, but i'm not sure if they will work or not and the example codes i looked up are a bit superficial so the questions in my mind are;</p>
  
  <ol>
  <li><p>First I'm wondering if i write a server side application and transfer input and output addresses of clients to operators, will the operators be able make the connection directly, or do i have to send messages over server?</p></li>
  <li><p>Will it be bad practice for a server side application to listen sockets/open ports?</p></li>
  <li><p>What other approaches would you suggest for such a program(Operator side has to be a multi platform desktop application)</p></li>
  </ol>