Not too bad, but there is better out there
As with most technical books, the code doesn't work right off of the pages. And since it's now 2005, 3 years after the printing of this book, another edition is needed. Network programming is a very large subject to cover. If you know nothing of network programming, then this book is an okay starting point. Be prepared for some fairly complex topics right from the begining. The book covers network programming using C++, C#, and VB. Also, check the web page located in the front pages of the book to fix code errors throughout the book. In all honesty, I would recommend against buying this book and instead purchasing a more thourough network book, such as Windows Sockets Network Programming.
Bad source code
You would think the authors know what they are talking about when they write a book. But the source code provided does not run if you don't meet very strict requirements. The authors work for Microsoft. And they are tester/devloper. But neither they nor microsoft press bother to run their codes. My question is, if their codes are not good. How can you trust the book contents.
Scatter-gather approach
Patience is a virtue, Avatar. You'll need a good deal of patience while reading this book. While there is an enormous amount of valuable information in the text, I'm not sure that the book itself was actually edited. Several of the descriptions seem to drag on continuously, while a fair amount of bird walking is done in other places. I don't fault the authors with this, though. As I understand it, one of the editor's jobs is to make sure a book is grammatically correct and easy to read. Another problem that I've noticed involves incorrect chapter references. For example, the SO_CONNECT_TIME referenced in chapter 7 (p. 205) refers you to chapter 6 (p. 177) for an explanation. Chapter 6 refers you to chapter 5. Are these guys doctors? Will my insurance cover this? :)
Programming in C# minor. 12 pages here. There really is a chapter 13. Don't flip too fast; you might miss it. Now, granted, I'm not a C# programmer, so I haven't thoroughly looked at the contents of the chapter. However, judging from the skimpiness alone, I imagine that a lot more could have been covered.
In fairness chapters 5 - 12 are packed with some very useful information, and the C# chapter was probably just icing. So, overall I would recommend this book. However, the book's organization and overall appearance (no shading of code samples, tables, etc.) are lacking considerably. These issues and the poor editing earn a generous 3 stars.
Two Stars. Not a Fraction More.
The best I can say is that this book looks like it has a lot of information.But what good is it if you have to wade through words "up to here" just to get at it? Do they pay these guys by the word?
It's just not an efficient book.
If I couldn't teach any better than this I'd get another job.
Great! But be careful.
The C++ code after Chapter 1 in this book will not work unless you have the latest Platform SDK installed. So don't buy this book unless you meet the OS requirements for the latest Platform SDK. As of February 2003 the Platform SDK requires Windows XP, Windows 2000, Microsoft Windows NT 4.0 SP6, or Windows Server 2003. The SDK is NOT supported on Windows 95, Windows 98, or Windows Millennium Edition.I don't have any of the required OS's so running the code in this book is impossible for me. I'm not going to unfairly judge the book because of this, however. I suppose if you're a serious developer you should probably be developing on one of the required platforms anyway. I have learned a lot from this book and I could get some of the code to work with MAJOR tweaking. It's true that a lot of this book is just stuff that you could find all over the MSDN Library, but it is very nice to have it all in one book. It starts from the basics and slowly leads into more advanced topics which would be difficult to do if you're only using the MSDN Library.
I don't regret buying the book, and in a strange way, since I had to do so much intense research on the Winsock functions and syntax to tweak the code enough to get it to work, maybe I learned a little more than I would have if the code had just "worked out of the box". I don't recommend learning this way though, it's very frustrating. I think it's a great book if you can get the code to run, if not, then stay away.