cover image

Unix Network Programming 2/e

by W. Richard Stevens
Prentice Hall PTR, October 1997
1240 pp.
ISBN 0-13-490012-X
Replaced by the third edition: $69.99 list, $53.89 at (click to purchase)

Book reviewed 9/7/1998

Waitaminnit...what’s a review of a Unix book doing in the Winsock Programmer’s FAQ? My, my, how quickly we’ve forgotten the Old World of TCP/IP programming. The sockets model of network programming originated in BSD Unix about fifteen years ago, while Winsock itself is about half as old. So, it’s no surprise that a lot of the sockets experts use and write about Unix. W. Richard Stevens is the most readable and knowledgeable of the bunch.

Just as learning a new computer language can change the way you think about programming, learning a new operating system can do the same. As it turns out, one of the best ways to learn more about Winsock and TCP/IP is to spend some time writing BSD sockets programs on a Unix machine. In these days when you can pick up a copy of FreeBSD or Linux for the price of a large pizza and a pitcher or two of beer, it doesn’t make much sense to put this educational experience off. Surely you have a 486 gathering dust somewhere?

Why do I recommend this course? Not only is it inexpensive and highly educational, Unix is still very relevant, and is an exceptional environment for programming. The experience will change your outlook, and may even turn you into a Unixhead. You will find that so many things that are difficult on Windows machines are simple and elegant under Unix. Want to snoop network packets? No problem. Want comprehensive statistics from the kernel about each network interface? Easy. Want to mess with IPv6 before the turn of the century? Only on a Unix box, baby.

Now that you’ve made the plunge, installed one of the rebel OSes and learned how to get a few things compiled, you need a good sockets programming book. Unix Network Programming will do just fine. It’s a kind of testament to this volume’s long popularity that the one-volume first edition has now been split into two new books, together totalling more than twice as many pages as their predecessor.

In the end, when you finish this book, you will have a better understanding of TCP/IP, which can only help your understanding of your Winsock programs. I still don’t know everything I want to know about Winsock and TCP/IP, but having sipped from the firehose of W. Richard Stevens’ knowledge, I find that my Winsock programs are more robust, and that I can troubleshoot weird network problems that would have had me madly searching for a kludge earlier.

The Bottom Line

If you want to become a TCP/IP guru, at least read this book. A more rigorous course is to read TCP/IP Illustrated volumes 1 and 2, another W. Richard Stevens masterpiece. Either way, you’ll be a better Winsock programmer.

Related Resources

W. Richard Stevens has a web site dedicated to his book. Among other things, you can download the book’s source code, and check out the errata and the table of contents.

There are several reviews of this book at

<< TCP/IP Illustrated
Glossary >>
Updated Sun Jan 18 2015 04:24 MST   Go to my home page