Answer the question
In order to leave comments, you need to log in
How and on what is it better to make the architecture of the server that keeps the connection with the client?
My client needed one desktop application on Sharp, which receives and updates data from json api once a second. I believe that it will be very difficult for both the application and the api when there are 1000 clients, and it is necessary to make a server layer that, on the one hand, will consume the api and update everything in itself, and on the other hand, keep a constant connection with each client and send them yourself only diff according to the data. The company also usually writes server software in Sharpe. In this regard, it would be very desirable to hear opinions:
1. Am I right in the need for a server layer?
2. In my opinion, it’s better to use an application on Go or Node.js for this, is it so or doesn’t matter, and it will also be fine on Sharp?
3. If you write in sharp, what approach / components is better to use to keep the connection and send data to the client?
Thanks in advance.
Answer the question
In order to leave comments, you need to log in
1. 1000 clients with an update once per second is 17 exchanges per second. Ridiculous load. Low. I have measured 5000 exchanges per second on VDS with 512 M RAM and one core.
2. It's better to use what you know how to use best. For this task - they are all equal.
3.TCP
1. My Remote Design System server (written in C#) with maintaining a constant connection to each client, sending files after each save, keeps 10,000 clients online without straining.
Server characteristics: Xeon 12 cores, 64 gigabytes of RAM, WinServer 2012R2
2. It will work fine on C # completely, in terms of server applications it is not inferior to anyone.
3. WCF with NetTcpBinding Duplex Binding
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question