Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Network Programming with C# and .NET Core

You're reading from   Hands-On Network Programming with C# and .NET Core Build robust network applications with C# and .NET Core

Arrow left icon
Product type Paperback
Published in Mar 2019
Publisher
ISBN-13 9781789340761
Length 488 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Sean Burns Sean Burns
Author Profile Icon Sean Burns
Sean Burns
Arrow right icon
View More author details
Toc

Table of Contents (26) Chapters Close

Preface 1. Section 1: Foundations of Network Architecture FREE CHAPTER
2. Networks in a Nutshell 3. DNS and Resource Location 4. Communication Protocols 5. Packets and Streams 6. Section 2: Communicating Over Networks
7. Generating Network Requests in C# 8. Streams, Threads, and Asynchronous Data 9. Error Handling over the Wire 10. Section 3: Application Protocols and Connection Handling
11. Sockets and Ports 12. HTTP in .NET 13. FTP and SMTP 14. The Transport Layer - TCP and UDP 15. Section 4: Security, Stability, and Scalability
16. The Internet Protocol 17. Transport Layer Security 18. Authentication and Authorization on Networks 19. Caching Strategies for Distributed Systems 20. Performance Analysis and Monitoring 21. Section 5: Advanced Subjects
22. Pluggable Protocols in .NET Core 23. Network Analysis and Packet Inspection 24. Remote Logins and SSH 25. Other Books You May Enjoy

What this book covers

Chapter 1, Networks in a Nutshell, introduces readers to the fundamentals of computer networks, and the challenges of writing software for use on distributed systems.

Chapter 2, DNS and Resource Location, explores the basics of resource location and the origins of the DNS.

Chapter 3, Communication Protocols, investigates the OSI network stack and the variety of communication protocols designed for each layer of that stack.

Chapter 4, Packets and Streams, looks at how data is encapsulated in packets and how groups of packets are consumed by your software as a stream.

Chapter 5, Generating Network Requests in C#, takes a deep dive into the request/response model of network communication and how that model is implemented in C#.

Chapter 6, Streams, Threads, and Asynchronous Data, looks at how C# programs can be designed to consume data streams from remote resources asynchronously, thereby improving performance and reliability.

Chapter 7, Error Handling over the Wire, looks closely at how to design and implement error-handling strategies in network software.

Chapter 8, Sockets and Ports, examines how logical connections are established between network hosts by mapping a socket in your application code to a port on your network interface.

Chapter 9, HTTP in .NET, takes a thorough look at how every aspect of HTTP is implemented within the context of C# and .NET Core. It looks at implementing HTTP clients and server applications using ASP.NET Core and the System.Net.Http library.

Chapter 10, FTP and SMTP, looks at some of the less commonly leveraged protocols of the application layer of the OSI network stack, implementing a fully functional FTP server in the process.

Chapter 11, The Transport Layer – TCP and UDP, takes a close look at the transport layer of the OSI network stack, exploring the distinction between connection-based and connectionless communication protocols, and looking at how to implement each in C#.

Chapter 12, The Internet Protocol, explores the backbone of the modern internet by looking at how the Internet Protocol (IP) provides for device addressing and packet delivery.

Chapter 13, Transport Layer Security, looks at how the SSL and TLS were designed to provide security for data transmitted over global, unsecured networks, and how to implement TLS in .NET Core applications.

Chapter 14, Authentication and Authorization on Networks, considers how you can validate the identity of users of your network software and restrict access to different features and resources based on your users' permissions.

Chapter 15, Caching Strategies for Distributed Systems, looks at the various benefits of caching different resources in your network software for performance and reliability improvements.

Chapter 16, Performance Analysis and Monitoring, takes a close look at how to monitor the health and performance of your network applications, and how to respond to, and reduce the impact of, network unreliability in relation to your software.

Chapter 17, Pluggable Protocols in .NET Core, looks at the .NET concept of a pluggable protocol, and how you can use it to define your own custom application layer network protocols, and incorporate those protocols seamlessly into your .NET applications.

Chapter 18, Network Analysis and Packet Inspection, examines the tools and resources available in the .NET Core framework for investigating network traffic and the state of network devices on your host machine. It looks at how you can investigate the content of network traffic being processed by your host with packet inspection, and how you can use the information gained by packet inspection to respond to security risks.

Chapter 19, Remote Logins and SSH, looks at the origins of the SSH protocol and how it enables secure access to remote resources over an unsecured network. It looks at the most popular C# library for interacting with remote hosts via SSH and considers the range of applications you might build on top of the SSH protocol.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime