Category: Desktop Application (C#)
DDoS Watch is a C# desktop application I originally developed for a friend of mine or was running a web hosting and game server hosting business. He wanted a lightweight application he could run that would send him emails when there were problems with various servers.
Through the user of threads, sockets, smtp clients and good old object oriented programming I quickly put together this application to notify both him and his team of any downtime he was experiencing.
The application runs in a background thread checking if servers are online every x (user defined) amount of seconds.
To check if a server is online, the application opens a TCP socket and attempts to make a connection on the specified port. If a connection can be made the server is deemed online, else the server is deemed offline.
Based on that information an email notification is sent to a list of user specified email addresses. Notifications are only sent when the status of a server is changed. In other words if your server is down, and your delay is 5 seconds, you will only receive the server down email once, and than a second email notifying when the email is back online.
The settings of the application save each time you make an adjustment to an email address or server, or simply when you close the program to ensure information is never lost.
The application is even smart enough to check if you email settings are valid when it sends emails. Any issues with servers or emails are highlighted in red. If no issues have occurred on an email or server, the text will be highlighted in green.
Please see the screenshots below for more information:
If you are interested in this project for personal user or wish to view the source, I have commented and uploaded the complete project to github. Please see the link below: