I’m an experienced .Net developer which I’ve been using commercially since its first release. Over the last 6 years I’ve been using WCF to service my clients. This includes one-way requests, request-reply clients (normal client-server requests) and subscription clients (which have a callback).
So once the client opens up a duplex callback channel it remains until either the server or client closes it.
Couple this with WebSockets and you achieve a duplex bi-directional streaming channel between the server and the client.
Because WCF is highly configurable both at the server and client, the service can be easily tuned to handle a high number of clients. It could also dynamically change its configuration depending on the number of clients connected. However, the total number of clients will depend on lots of things, e.g., the speed of the client and server machines and the speed and capacity of the network.
One proviso but, this will only work on Windows 8 and above. It can be done in earlier versions of Windows but will require more work.
I also have vast experience with developing clients, including: ASP.NET, Windows Forms, WPF, MVC using the razor engine, Windows phone, Windows RT and Android using Xamarin.