Archives / 2004 / July
  • Professional .NET Network Programming

    Networking is one of the core tasks of enterprise-level programming, and for the programmer familiar with the C# language this book will provide the information to put network programming at the heart of their .NET applications. Prior knowledge of network programming is not assumed, but the reader already familiar with networking from another environment will find the pace quick enough for the book to still prove valuable.

    This book will give the reader:

    An understanding of the general concepts of networking

    Information about network programming in .NET with C#

    Skills to build network-based applications in .NET

    The confidence to use the classes shipped with .NET to implement your own application-level protocols.

    After reading this book, readers will be confident C# network programmers, and understand the underlying protocols.

    We begin with an overview of the most important background material, such as the architecture of physical networks, network protocols, the OSI model, streams in .NET, and the classes provided to facilitate access to streams such as StreamReader and StreamWriter.

    Then we move onto sockets programming, with an introduction to the concept of sockets, and full coverage of using sockets in .NET. We look at TCP, UDP, and using multicast sockets in .NET. We also look briefly at application-level protocols built on top of these layers, such as SMTP and FTP.

    The next stop is Internet programming, with a look at HTTP, the underlying protocol of the Internet, and e-mail protocols – we look at the .NET classes for sending e-mails via SMTP, and we see how we can implement POP3 and NNTP clients in .NET to read mailboxes and newsgroups.

    The book finishes with an exploration of how to secure network communications in .NET – encrypting network traffic, certificates and SSL, authenticating and authorizing users with NTLM and Kerberos.

    All the code examples in this book are in C#.