I need to create client-server applications in local network with such functionality:
- single server (data access and so on ...)
- multi clients (ordinary 3-5, up to 20)
- each client must authorize on server (need to check what rights it has)
- client send request to server (ordinary less than 1 Kb, up to 3-5 Kb) and get responses (ordinary 30-100 Kb, some times it can be a big amount of data, up to 1-2 Mb)
- after some queries from client(s) server notifies all clients and send them new and updated data (so server must know how much clients are connected)
- if network connection dies, client must reconnect
I think NetMQ with Protobuf will be enough for my purposes. I look at documents and see, that the most suitable pattern for my task is http://zguide.zeromq.org/page:all#Service-Oriented-Reliable-Queuing-Majordomo-Pattern when each client is a worker and server worker is a client at same time.
I think this solution too is complicated? Are there simpler ways to solve such problem (simpler pattern or maybe something based on WCF)?