Explore various network architectures that make distributed programming possible
Learn how to make reliable software by writing secure interactions between clients and servers
Use .NET Core for network device automation, DevOps, and software-defined networking
Description
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.
Who is this book for?
If you're a .NET developer or a system administrator with .NET experience and are looking to get started with network programming, then this book is for you. Basic knowledge of C# and .NET is assumed, in addition to a basic understanding of common web protocols and some high-level distributed system designs.
What you will learn
Understand the breadth of C# s network programming utility classes
Utilize network-layer architecture and organizational strategies
Implement various communication and transport protocols within C#
Discover hands-on examples of distributed application development
Gain hands-on experience with asynchronous socket programming and streams
Learn how C# and the .NET Core runtime interact with a hosting network
Understand a full suite of network programming tools and features
The examples in the book are irritating as they do not provide a complete working sample. The code snippets presented in a step-by-step style are not related to each other. I could not follow along to end up with some working code.
Amazon Verified review
Douglas W. MetcalfAug 01, 2020
1
This would be good if you need to know the meanings of words related to network programming. Not worth much if you are interested in network programming as it relates to TCP/IP and sockets.
Amazon Verified review
yyJul 13, 2020
5
The author assume no background in network program from his reader. Basic concepts like TCP/IP, UDP, HTML, TLS etc. are patiently explained to certain detail. Though not very deep in its contents, other deep-dive references are provided for further reading after each chapter.
Amazon Verified review
KirstenOct 13, 2019
3
My review is based on the expected content and not the content that was delivered. The author uses most of the book to explain in depth a number of basic concepts that would be useful to readers with little exposure to networking. What I expected was a more robust and in depth hands on guide that delved into the practical aspects of network programming in c#. The code samples are poor and cover little more than what can be found through a series of google searches. There is no real in depth exploration of how common challenges encountered in network programming and application development may be solved. I could summarize this book as a primer on network programming illustrated with simple examples in c#.
Amazon Verified review
Bernard ClarkOct 09, 2019
5
I consider myself an intermediate C# developer and this was at a good level for me to get started with network programming.
Sean Burns is a software engineer and author dedicated to craftsmanship and quality in his work. His professional career began while attending Virginia Commonwealth University in 2012. Leaving school to pursue his career full-time, he has accumulated 7 years of experience as a professional software engineer, working in a wide range of industries. Over the course of his career, he has developed and released software for every layer of the application stack. His projects include feature-rich and high performance front-end user interfaces exposed to millions of consumers, as well as high performance web services and APIs. Since it began, his career has been driven by an innate curiosity and a continued passion for software and technology.
Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.
If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.
Please Note: Packt eBooks are non-returnable and non-refundable.
Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:
You may make copies of your eBook for your own use onto any machine
You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website?
If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:
Register on our website using your email address and the password.
Search for the title by name or ISBN using the search option.
Select the title you want to purchase.
Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title.
Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook?
If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
To view your account details or to download a new copy of the book go to www.packtpub.com/account
Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.
You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.
What are the benefits of eBooks?
You can get the information you need immediately
You can easily take them with you on a laptop
You can download them an unlimited number of times
You can print them out
They are copy-paste enabled
They are searchable
There is no password protection
They are lower price than print
They save resources and space
What is an eBook?
Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.
When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.
For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.