Writing a basic TCP Socket programming tutorial - Interest?

Started by
2 comments, last by Nercury 11 years, 1 month ago

I've been struggling with basic socket programming for the past few months, and I believe, with the help of local guru Kylotan, that I've finally gotten a handle on the basics. It's been a rough journey, trying to piece together what I need to know from books, forums, and web articles... a journey that I believe could have been made MUCH less painful if I had had access to the right information.

Of course, right for me might not be right for you, or anyone else for that matter. However, I feel like many of these sources either assume a level of comprehension far above most beginner's capabilities (and thereby barely touching on some very key points), focus their attention on a very specific aspect of using sockets, or are just copypasta'd from someone else and then explained from a basis of limited understanding. Not to mention the articles written by people for whom English is NOT their first language.

So I'm considering writing a ground-up, first-time user TCP socket programming tutorial (using C#) that touches on all the problems that I went through as I tried to learn, and hopefully some of the ones that I saw coming and successfully sidestepped. My question: Would this be of any interest to anyone out there, or would I be wasting my time? As a beginner, I plan on throwing it out there for the more experienced to digest and critique, knowing full-well that I'm not the most qualified on the subject. Still, I think my proximity to the subject and relatively shallow experience base could really serve those in a position similar to my own.

Thoughts?

Advertisement

I've been struggling with basic socket programming for the past few months, and I believe, with the help of local guru Kylotan, that I've finally gotten a handle on the basics.

Thanks! The check is in the mail...

So I'm considering writing a ground-up, first-time user TCP socket programming tutorial (using C#) that touches on all the problems that I went through as I tried to learn, and hopefully some of the ones that I saw coming and successfully sidestepped. My question: Would this be of any interest to anyone out there, or would I be wasting my time?

The benefit of a beginner giving a tutorial is that you're unlikely to make the unreasonable assumptions that an expert sometimes makes. The downside is that sometimes beginners don't fully understand the reasons for or the implications of what they're using.

It sounds like you want to give something back to the community by writing about this and that's great. All I would suggest is that you let people check it over before you start posting it widely, to avoid inadvertently spreading anything that is incorrect.

I have researched and written an example minimal app (client/server) which uses only async sockets all the way, without creating any threads (uses kernel thead pool). I may github it when I get back from work if you are interested. In theory it should give the highest possible performance on .NET.

All right, I have this little C# project which was intended as a starting example for other networking projects or as a tool to test things. This is just a basics, stream layer, I would develop message splitting on top of this.

All it has is a simple async server and simple (half-)async client. They were useful in past not only as example C# implementation, but as well as dummy server/client when I had implemented only one side in C++.

I am interested in your tutorial to further develop this little thing and align the knowledge. And maybe get some feedback. And probably fix few mistakes there and there.

It is on github: https://github.com/Nercury/csharp-tcphelpers

This topic is closed to new replies.

Advertisement