Unix Network Programming
W. Richard Stevens


Compras Nikon
Bluetooth
Focuses on design, development, and coding of networking software under the UNIX operating system. Begins by showing that a fundamental basic for networking programming is interprocess communication (IPC), and a requisite for understanding IPC is a knowledge of what constitutes a process. Throughout, the text provides both description and examples of how and why a particular solution is implemented.
1 Classic work - but in series need of updates as time goes on
I cannot fathom a guess as to how many times the books in this series have saved my in project work over the years. The only drawback with this series is that some publisher should endeavor to keep them up to date. Serious Unix system programmers must have copies of the complete series.
2 A Unix Bible
I have been actively involved in computer software/hardware for close to 20 years and have purchased probably 200+ books in this time period. Over 75% I wish I hadn't purchased. This book is probably in my top 10 however.

This book is what's called a "Bible". It's an authoritive reference on Unix networking and communications (ipc/rpc) and much else. I equate it to the Kernighan & Ritchie C book, etc.

I wouldn't recommend this book to someone new to computers, but if you have a few years under your belt, or are an eager-beaver then go ahead...you won't regret your purchase.

The author uses a simple client/server program example (a simple file server) and then goes through several iterations/revisions, each using a different IPC mechanism to accomplish same task. A great technique for exploring new concepts...tie them all to a single program design with the program evolving to use different APIs/IPC mechanisms.


3 A "must-have" classic programming text
Don't let the title fool you - this book is more about writing robust applications in UNIX than mere network programming.
In his trademark crisp and to-the-point style, Tanenbaum describes UNIX from the C programmer's point of view. The book groups system calls by domain (file I/O, IPC etc) and illustrates different usage scenarios. This is one of few texts that explain the *why* aspect of system calls, not just the *how*. After reading this book, you will have gained insight on improving your current programming project, and understand UNIX inside-out.
4 Good and Difficult
Network programming was never meant to be easy. It has simply too many details and functions, to make it mind boggling. So an excellent reference is in order.

I had read TCP/IP Illustrated I by Richard Stevens and found it an excellent read. Which is why I bought this book. Frankly, I was a bit dissapointed with it.

In the TCP/IP book, Stevens explains concepts with the help of diagrams and examples. This book, on the other hand, reads like a listing of various programs which make no sense. I found it very diffcult to use as my first programming book.

If you have some knowledge of network programming, you shuld buy this book. But if you are a novice like me, then think twice about it.


5 Astonishing and Readable! Simply let knowledge flow in you!
Okay, this is the story. I have not bought this book, but got it from a university library, for a short term of a week. It is an amazing book, Richards simply is a magician, when ever it comes to displaying and explaining data. There are 2 kind of books, one that you read 50 pages of, and start randomly select pages to read out of it, and one that you read fully, continuesly, and never noticed you have spent a whole day reading it. Richards casts a spell on you with his books, they are magically clear, and vastly informative so that you will surely understand with every meaning of that word!. This is the second kind of a book! A MUST on every shelf, unfortunatly i am still desperately looking for this book!. For the "data" in it: Robust explanation of UNIX, Richards goes from the OS view and dives deeply into the internals, providing vast and clear explanations for _everything_. Throw all other books away, this is THE book.
6 21st Century? Yes, buy this book.
Great book, I've read it cover to cover. But why buy it when the author has newer versions out? Because (1) it is more concise and (2) it has info not in the other editions. I recommend you read this one cover-to-cover and buy the others as more detailed reference. His 3 other books (Advanced Programming in the Unix Environment, Unix Net. Prog.,2nd Ed., Vol.1; Unix Net. Programming, 2nd Ed., Vol.2) are far more detailed and worth having, but each is very thick. AND, the author died without finishing Unix Network Programming, 2nd Ed., Vol.3 (Applications). You have to buy this older edition to get the applications. It's easier to read 1 book 700 pp. long than to read 3 books, each 700 pp. long. Time is money.
7 Pl. provide table of contents
It would have been a great help if table of contents are provided online for this book
8 It's a great book
If you are serious about network programming, buy this book, and this book alone is enough.
9 My rating: PERFECT '10' .
Nothing could match this book as far as Unix networking is concerned. This book is simply great for all programmers who want to have a firm grip on Unix network programming. Stevens has dealt with all the topics keeping in view the knowledge level of the programmers who would be chosing this book for their help. I would suggest everyone to keep the 'Advanced Programming in UNIX environment' by Stevens by your side when you are reading this book. This book is again perfect'10' I must say. Just go and grab both these books!!!
10 Best book for learning UNIX IPC
With very little effort, one can learn the techniques and tricks to programming Sockets and other forms of IPC. Using this book alone, I was able to learn and implement socket based applications. Richard Stevens's writing is well thought out and full of examples.
11 Get the more recent edition
This book is a must read if you are going to program using TCP/IP Sockets or XTI. But, get the Second Edition, published in late 1997.
12 a classical book on network programming.
I like the books written by Mr.Stevens. I have heard of his name a long time ago.And I greatly admire him. The network programming is hot because of the development of Internet.This book teaches you how to write correct and efficient programs on networks.
13 Readable, well-indexed and complete
This is undoubtedly one of the finest computer books I have ever owned. It is readable enough to use as a textbook, but well-indexed and complete enough to use as a reference. I bought my copy in 1991, and it is almost falling apart. Colleagues are constantly borrowing it, and they usually go out and get their own copy (after I tell them that they may NOT take it home). When Advanced Programming in the Unix Environment came out, a co-worker and I both decided that we would, on faith, "plunk down the 50+ bucks to own it, too". It has also proven to be readable and useful. I took a week-long class in network programming shortly after I bought the Unix Network Programming book, and I took it along, thinking I might need it. The instructor saw the book, picked it up and said "This is THE definitive reference on network programming in Unix. Any problem I have had, I have been able to find a solution in this book!" (All of this was before Steven's series of 3 volumes came out). Now, if you'll excuse me, I have to go arm-wrestle one of our student interns for my copy of Unix Network Programming...
14 Contrasts
Complete and detailed book, with practical examples almost everywhere, and a particular emphasis is put on the TCP/IP internet protocol suite.

But not very nice editing and layout, and a bit confusing at some points.

Around the first 85 pages are dedicated to UNIX in general (signals, daemons, filesystem general structure), and not dedicated to networking.

But it talks about the UNIX techniques you will need in the rest of the book, so you won't really need any other and no assumptions about your networking knowledge are done.

The real book starts providing a detailed description of IPC techniques: pipes, FIFOs, streams, message queues, semaphores, shared memory. It might result confusing when to use each technique and how to combine them.

But each of them comes with comprehensive client-server examples and several file locking implementations that help to fully understand the text, and comparisions and valuable advices.

A few tables are outdated now.

But this is no problem as they are available in your UNIX kernel configuration or include files, and the book shows how to find the right values in each case.

A chapter is dedicated to explain networking terms and concepts (OSI models, byte ordering, buffering, multiplexing, routing..)

But even if it's more than enough to understand how everything presented in the book works, in my opinion its a bit short.

Several protocol suites are described (TCP/IP, XNS, SNA, NetBIOS, OSI, UUCP) so it might be hard to choose the right one for your application.

But the different characteristics and services they provide are compared making this choice easier.

Stevens makes a thorough description of the Berkeley Socket Interface and the System V TLI communication protocol APIs, providing examples and useful routines like the implementation of a reliable UDP/IDP protocol that is later used in some of the project examples in the last part of the book (tftp, lpd, rmt, rlogind, ...), each of them explained in detail.

But for some people this might be too much C source code (around 15000 lines, claims the author), and not enough real life problems or advices. A matter of taste.

There is a part dedicated to security, which explains the Kerberos authentication system and the standard .rhosts, which is applied to the rlogind example.

But the Kerberos chapter along with the one dedicated to the Apollo, Xerox Courier and Sun RPCs, even if they provide enough descriptions and examples, seem to be a bit too short.

In general, I'd say it's a complete book about network programming under UNIX which provides in-depth explanations of the main communication protocols and techniques. And since communication is often a must under UNIX, a very useful book to have near your keyboard.

No buts here, get it :)


15 A Must have for Unix network programmers
This book is a must have for any one starting to do Unix network programming. It is also a good reference for the Unix programmer doing network programming. Expect to find complete discussions and examples of Unix code for Sockets, RPC. Inter-process communications (IPC) are discussed in detail. Coding at the transport layer, both Sockets and TLI are discussed with an emphesis towards Sockets. Expect to find a complete discussion on network devices as well, pseudo-tty devices and applications that use them (rlogin, telnet, etc...)

Sunday, 07-Sep-2008 02:31:51 CDT
Quote of the Day:


Truth has no special time of its own.  Its hour is now -- always.

-- Albert Schweitzer

More than any time in history, mankind now faces a crossroads. One path
leads to despair and utter hopelessness, the other to total extinction.
Let us pray that we have the wisdom to choose correctly.
-- Woody Allen, "Side Effects"