Book Image

Hands-On Network Programming with C# and .NET Core

By : Sean Burns
Book Image

Hands-On Network Programming with C# and .NET Core

By: Sean Burns

Overview of this book

The C# language and the .NET Core application framework provide the tools and patterns required to make the discipline of network programming as intuitive and enjoyable as any other aspect of C# programming. With the help of this book, you will discover how the C# language and the .NET Core framework make this possible. The book begins by introducing the core concepts of network programming, and what distinguishes this field of programming from other disciplines. After this, you will gain insights into concepts such as transport protocols, sockets and ports, and remote data streams, which will provide you with a holistic understanding of how network software fits into larger distributed systems. The book will also explore the intricacies of how network software is implemented in a more explicit context, by covering sockets, connection strategies such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), asynchronous processing, and threads. You will then be able to work through code examples for TCP servers, web APIs served over HTTP, and a Secure Shell (SSH) client. By the end of this book, you will have a good understanding of the Open Systems Interconnection (OSI) network stack, the various communication protocols for that stack, and the skills that are essential to implement those protocols using the C# programming language and the .NET Core framework.
Table of Contents (26 chapters)
Free Chapter
1
Section 1: Foundations of Network Architecture
6
Section 2: Communicating Over Networks
10
Section 3: Application Protocols and Connection Handling
15
Section 4: Security, Stability, and Scalability
21
Section 5: Advanced Subjects

Further reading

For more information about HTTP in .NET Core, or using ASP.NET Core, you have a wealth of resources at your disposal. Particularly, I'd recommend Hands-On Full-Stack Web Development with ASP.NET Core, by Tamir Dresher, Amir Zuker, and Shay Friedman, available through Packt Publishing here: https://www.packtpub.com/web-development/hands-full-stack-web-development-aspnet-core.

If you want to take a deeper dive into the patterns and principles that informed the developers of ASP.NET Core, I'd recommend reading ASP.NET Core 2 Fundamentals, by Onur Gumus and Mugilan T S Ragupathi. It's also available from Packt, and you can find it here: https://www.packtpub.com/web-development/aspnet-core-2-fundamentals.

If you're more interested in the fundamentals of the MVC design pattern, and how ASP.NET Core uses it to provide clean architectural templates...