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.
The service will be spawning multiple servers which the user can create, start and stop via the UI.
Researching the best way for my UI to control my service and receive status information from the servers.
From my research these are what ive found:
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.
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.
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.
Roll my own communication protocol- Live request/response but same issue applies to picking port numbers.
Anything else im missing with todays technology?