 |
Professional .NET Network Programming, by Andrew
Korwczyk, Vinod Kumar, Nauman Laghari, Ajit Mungale, Christian Nagel,
Tim Parker and Srinivasa SIvakumar is 477 pages crammed full of
everything about doing network - related programming in .NET, specifically
in C#.
Anyone who has worked on or architected an enterprise-level
application knows that network programming is one of the core skills
necessary to build custom communication classes and methods that
prove fundamental to the success of the system.
|
This book contains enough detailed information to be useful not only
to the intermediate - level programmer, but to advanced programmers as
well. While prior knowledge of network programming is not assumed, beginners
may find it difficult to work through some of the concepts presented.
Chapter 1 of the book deals almost exclusively with a treatment of the
basic networking concepts and protocols- the physical network topology,
ethernet, routing, gateways, OSI, and TCP/IP, UDP, the IP addressing scheme,
subnets, ports, FTP, HTTP, sockets, DNS, proxies, etc.
Chapter 2 jumps right into the fire with an extensive treatise on streams
in .NET, both synchronous and asynchronous, FileStream, BufferedStream,
MemoryStream, NetworkStream, and CryptoStream. It covers all the Stream
Members and Properties, reading and writing, Async callback delegates,
stream manipulation, and finally, serialization and formatters.
Chapter 3 reviews the System.Net classes - name lookup, IP addresses,
Request and Response, Authentication and Authorization, Connection Management,
cookies, proxy servers, sockets, URIs, WebRequest / Response, connection
pooling and permissions.
Chapter 4 continues to expand with reasonably extensive coverage of sockets
- stream, datagram and raw sockets, ports, asynchronous socket programming,
and socket permissions with both declarative and imperative security illustrations.
About the only glaring omission I noticed was the absolute nonexistence
- throughout the book - of any treatment of the Threadpool class.
Chapter 5 bears down on the TCP protocol, its terminology, connections,
flow control, MUX, and TCPClient. There is also some coverage of SMTP
and FTP including a pretty good example of how to implement your own FTPClient.
The chapter concludes with a discussion of the TCPListener class and a
short bit (very short!) about Remoting.
Chapter 6 is unique in that it is the first time I've ever seen an entire
book chapter devoted to UDP - and the coverage is excellent.
Chapter 7 continues this discussion and delves into multicast sockets.
Chapter 8 is a fairly extensive in-depth treatment of the HTTP protocol
and the related .NET classes, including chunking and the WebClient class.
It also discusses how to perform authentication with WebClient and how
to handle cookies and proxy support. The chapter concludes with a sample
of a 100% managed - code HTTP server
Chapter 9 goes into the EMail protocols SMTP, POP, MIME, System.Web.Mail,
NNTP, all of the commands for each protocol.
Finally, Chapter 10 covers cryptography, and is sufficient to give most
developers a good start into the symmetric and asymmetric algorithms along
with digital signature and how it works.
Chapter 11 is a short chapter that covers the various authentication
protocols.
All in all, I would have to give this book "Recommended" status.
I expect to be referring to it from time to time. I may not find everything
I need in it, however, but then after I let my mouse do the walking and
search all 3,083,324,652 web pages on Google, that and this book should
keep me in pretty good shape with Network programming in .NET!
| Peter Bromberg is a C# MVP, MCP, and .NET consultant who has worked in the banking and financial industry for 20 years. He has architected and developed web - based corporate distributed application solutions since 1995, and focuses exclusively on the .NET Platform. Pete's samples at GotDotNet.com have been downloaded over 41,000 times. You can read Peter's UnBlog Here. --><-- NOTE: Post QUESTIONS on FORUMS! |  | Do you have a question or comment about this article? Have a programming problem you need to solve? Post it at eggheadcafe.com forums and receive immediate email notification of responses.
|