My application supports multiple instances of the same server process (Windows Service), just like f.e. SQL Server.
The client/server communication will only take place in the same network.
I can use TCP, but then I have to configure separate IP ports for every server instance. I can however simply use named pipes so I don't have to think about port numbers and simply use the name of the server instance.
There will not be very frequent and/or large data client/server communication. It's some sort of a ERP application that will only communicate once per 30 seconds on average.
Also I want to prevent any client/server communication outside the network (intranet).
What is the wise choice here?
Update: Both client and server are written using .NET 4 and no third party client will be able to use the server.