Answer the question
In order to leave comments, you need to log in
What technologies are used for a .NET client-server application?
Good afternoon,
tell me what technologies to use to create a server designed for a large number of clients using .NET. Interested in building a scalable, distributed server application. It is highly desirable that Mono be supported. Before that I used only bare sockets, but I think they will not work. Tell me books / articles, in general, in which direction to look.
Answer the question
In order to leave comments, you need to log in
Bare sockets are the most flexible option - write exactly what you need! The task is rather complicated, but quite solvable, especially if you think first and then write the code.
WCF is a very good option - everything is written for you, but you won’t get the maximum performance, and there can be problems with interaction with non-.Net if you don’t think about it. I would advise you to use it at the initial stage.
Look also towards google protocol buffers as a help in optimizing network traffic. It can be used with both WCF and bare sockets. Removes the pain of preparing data before sending it to the channel.
A webservice can also do - there will definitely be no problems with different platforms, objects are transparently serialized into XML that is understandable to the eye.
But, you need to look at your exchange protocol - after all, the webservice is not imprisoned for continuous retention of the communication channel with the client.
In terms of scaling, if the front still slows down, just install several servers.
And why do you need Mono - save on Windows licenses?
.NET Remoting might be a good fit for you, even though it's deprecated.
There are fewer problems with it on Mono than with WCF. Though WCF differently looks more preferable.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question