This repository contains implementations of simple networking examples.
Thus far there are two projects implemented:
- TCP - implementation of simple chat in client-server-client architecture. This implementation has two major assumptions. One is usage of multithreading and the second one is implementation of some sort of graceful shutdown on client or server disconnection. TCP protocol is utlized in order to provide connection-oriented communication between sockets. This repository was review by @peter-csala on CodeReview stack exchange: Multithreaded tcp server accepting two clients with task factory and graceful shutdown
- UDP - implementation of simple chat in client-server-client architecture. This implementation has two major assumptions. One is usage of multithreading and the second one is implementation of some sort of graceful shutdown on client or server disconnection. UDP protocol is utilized in order to provide connection-less communication between sockets.
- Netstat - console application which run is an equivalent to "nestat -a" command on windows OS.
- Ping - console application which run is an equivalent to "ping " command on windows OS.
- NTP - implementation of simple NTP client. I was curious about the differences between the four times defined in RFC 2030 which are reference, originate, receive and transmit timestamps and immediate call of DateTime.Now. This repository was review by @peter-csala (again :D) on CodeReview stack exchange: NTP client displaying reference, originate, receive and transmit timestamps periodically with graceful shutdown in C#
- SMTP - implementation of simple SMTP client allowing to add multiple attachments. Based on: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required?
- RFC3091 - implementation of PI generator described in RFC 3091 document, but without the multicast service.
- .NET 6
- Jetbrains Rider
I am making sure that dotnet build
is all that you need to make everything work.
Project is: finished
Network programming classes at AGH University of Science and Technology