Winsock Programmer's FAQ
Network Programming for Microsoft Windows
by Anthony Jones and Jim Ohlund
Book reviewed 4/22/2000
Oh how boring, yet another excellent reference book from Microsoft Press. They're making fine publishing into a habit. :)
This book is a lot like other classics from Microsoft Press: nearly complete coverage of a Microsoft technology written by true experts. (In this book's case, two of Microsoft's network developer support engineers. They are now design engineers at Microsoft, presumably working on Winsock and related things.)
The book is also a lot like Ralph Davis' Win32 Network Programming: it covers a lot more than Winsock, straying into legacy APIs like NetBIOS and named pipes. Unlike Davis' book, though, the book assumes that you have a grasp of Win32 API basics like threads and security. This is because Microsoft Press already has a Win32 API reference: Jeffrey Richter's Programming Applications for Microsoft Windows.
The Winsock Coverage
In place of the Win32 basics in Davis' similarly-sized book, Jones and Ohlund go into much more depth in the Winsock sections. They take eight chapters to cover Winsock, totalling some 350 pages. (There are nine Winsock chapters if you count the 30-page chapter on the Visual Basic Winsock control.)
The first Winsock chapter describes Winsock from the API perspective. There is very little theoretical discussion: the chapter feels a bit like an expanded version of the MSDN docs, organized into a logical sequence.
The next chapter covers the various I/O models available to a Winsock
programmer. In addition to the expected coverage of blocking sockets
and nonblocking sockets with
The next several chapters cover
The last two Winsock chapters cover two more technologies that to
date have seen very little authoritative coverage: raw sockets and the
Winsock 2 service provider interface (SPI). The raw sockets chapter
starts off with the obligatory "ping" sample and then goes into more
interesting subjects like how to change network packet headers with the
The Rest of the Book
It's kind of odd, but the first section of the book (about 110 pages) covers "Legacy APIs" (their term). These include NetBIOS, the redirector, named pipes and mailslots. This material should have been hidden at the back of the book in appendices, in my humble opinion. To most programmers, reading this material is like listening to old fart programmers talk about card decks and teletypes. It makes you feel better about the current state of programming.
Following the second section on Winsock, the book winds down with a final one-chapter section on the RAS API.
The remaining 75 pages are given to appendices. Tucked in among these is an appendix on the IP helper functions that appeared (variously) in Windows 98, Windows NT service pack 4, and Windows 2000. The helper functions encapsulate some truly useful functionality that used to be much harder to use. I think this is more deserving of a chapter in the main section of the book than, say, named pipes.
Yet Another Winsock Book. Should I Care?
This book's main claim for a place on your bookshelf is simple: it covers many topics that have never been covered in a book to date. The fact that it's from Microsoft Press also carries some weight as it makes clear where Microsoft's interests lie within the broad scope of Windows networking.
Assuming that you are an experienced Win32 programmer, this is probably the best get-started-quickly tutorial and reference book for Winsock on the market today. If you already have Winsock books but need a reference for advanced topics like I/O completion ports, this book will fill that need, too.
There are several reviews of this book at Amazon.com.
Microsoft Press also has a page dedicated to this book.
|<< Windows Sockets Network Programming book review||Win32 Network Programming book review >>|
|Last modified on 19 October 2001 at 15:57 UTC-7||Please send corrections to email@example.com.|
|< Go to the main FAQ page||<< Go to the Home Page|