title: Inter Process Communication - Modern Options?
body: <p>Im developing a system with a windows service and a front end UI for configuration and controlling the windows service. Ill be using .net 4.6. </p>
  
  <p>The service will be spawning multiple servers which the user can create, start and stop via the UI. </p>
  
  <p>Researching the best way for my UI to control my service and receive status information from the servers.</p>
  
  <p>From my research these are what ive found:</p>
  
  <ol>
  <li><p>SQLITE - Create a message queue which the UI writes commands to, servers will read periodically and respond with another message queue. Not ideal as its not live and requires a polling system. </p></li>
  <li><p>Named/Anonymous Pipes - Live request/response. Works, but its a bit clunky when it comes to dealing with multiple clients communicating with a single server.</p></li>
  <li><p>WCF - Live Request/Response. Nice and easy to implement except the user needs to worry about configuring a valid port for the system to run on.  </p></li>
  <li><p>Roll my own communication protocol- Live request/response but same issue applies to picking port numbers. </p></li>
  </ol>
  
  <p>Anything else im missing with todays technology?</p>