I was playing around with TCP networking features on .NET, and seeing that all my prototypes for communication through TCP worked, I decided to give a shot creating a fully-fledged TCP Chat program.
I was playing around with TCP networking features on .NET, and seeing that all my prototypes for communication through TCP worked, I decided to give a shot creating a fully-fledged TCP Chat program.
It all started with two console projects that I played around with, and I learned how the TCP system is implemented in C#, and how to use it. It's not that hard, but I had to figure out the kinks and quirks of it. Then (deciding not to overrate my abilites (and laziness)) I created a small console chat program, which can act as both a host and a client, one connecting to the other. And then you chat! And it worked! Sure, I hadn't implemented any form of error-checking or validation, but it worked!
I kept a friend of mine up to date with this, and due to poor feedback that I received regarding the console app, (and because I wanted to) I decided to go big with it and make a fully-fledged Windows Forms application.
Now that was not easy nor particularily hard, I just had to dive a bit in the hell of multi-threaded code... But it works! I've worked on it a little bit more, adding some additional features among with proper error-checking and exception-handling.
It's not much, but I am so proud of it that this could well be my favourite program to date.
I found this nice utility on the internet which uses UPnP to create port forwarding entries. I did try to implement the functionality into my program, but it didn't work so I abandoned the idea. For the time being.
Its license allows me (doesn't prohibit) to post it here, and because it uses an unnecessary installer I will post only the zipped exe file: UPnP Wizard License Readme by XLDevelopment
The app has a console mode so I could use that. Hmm.
First version v1.0
You need a Windows PC with the .NET Framework 4.6.2 or higher to be able to run this.
(displayed in Versions card)
I do not use any versioning system. But I've now decided to .zip the source code for every new version that I release. So here is a list with all the released versions' source code.
Licensed under Creative Commons Attribution 4.0 license.
(displayed in Versions card)
I will not update projects' development status anymore. You can see the evolution from the release dates.