Click here to Skip to main content
15,888,579 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
See more:
Does anyone know of a C# Server Base that is either free or under 50$ that uses a window's forms interface, uses sockets, that is easy to learn, and open source?
Posted
Comments
Sergey Alexandrovich Kryukov 13-Oct-11 19:41pm    
Not clear: why, what kind of server, what are the requirements?
--SA
Fox536 13-Oct-11 19:57pm    
Well I need a game server base,

- that will use sockets to transmit binary data to any connected client, so I know it needs to be TCP/IP.

- that will be able to handle 200+ connected users without any speed problems.

- I need it to be highly configurable, and as easy to understand as possible.

I'm not necessarily going to use a third party server base (in fact I can almost guarantee it, I just need a solid base that I can learn from, because all the code I've seen either is horribly documented, or missing huge gaps of info, or is poorly coded.) I really just need a base that has all those features working so that I can see how it works and be able to toy with it so that I can figure it out better. I've googled, I've searched and read many articles here but can't seem to find what I need. Also I heard that using a new thread for each connected client causes the application to eventually hit the windows thread cap, so I'm trying to find a solution that avoids this.
Sergey Alexandrovich Kryukov 13-Oct-11 23:56pm    
Well, no wonder you did not find it. Please see my answer.
--SA

1 solution

Yes, using a separate thread for each user is plain stupid. I came across a whole network community of people who do anti-thread propaganda based on their negative experience with threads because they all did something as idiotic as that. Any technology could be misused in most destructive ways. Number of threads can be fixed or configurable, one thread serving several users. But performance depends not just on the number of users but more on how much of data exchange is required for each. Anyway, 200 connected users looks like a pretty modest number.

Well, yes, making such generic engine makes perfect sense. Logic of processing data can be abstracted out, data types presented using generics. It does not even seem difficult.

However, it does not surprise me that you did not find such thing. I can hardly imagine who would do it and why. Maybe, for an article explaining the techniques, but I would not right such thing. It looks a bit too trivial to me to do such job just for article, sorry.

So… I only can advise you to do this job by yourself. I don't know what kind of help you might need, but — ask question. For a start, look at my past solutions here:
Multple clients from same port Number[^],
automatic updater triggered via server[^].

Good luck,
—SA
 
Share this answer
 
v3

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900