No Words Wasted Sale

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    The Powell's Playlist | January 19, 2015

    Ned Beauman: IMG The Powell's Playlist: Ned Beauman

    I did have a playlist that I listened to over and over again while I was writing Glow, but three years on I'm a bit bored of those songs, which got... Continue »
    1. $18.17 Sale Hardcover add to wish list


      Ned Beauman 9780385352604

Qualifying orders ship free.
New Hardcover
Ships in 1 to 3 days
Add to Wishlist
available for shipping or prepaid pickup only
Available for In-store Pickup
in 7 to 12 days
Qty Store Section
5 Remote Warehouse Operating Systems- General

Unix Network Programming Volume 1 3RD Edition the Sockets N


Unix Network Programming Volume 1 3RD Edition the Sockets N Cover

ISBN13: 9780131411555
ISBN10: 0131411551
All Product Details






This book is for people who want to write programs that communicate with each otherusing an application program interface (API) known as sockets. Some readers may bevery familiar with sockets already, as that model has become synonymous with networkprogramming. Others may need an introduction to sockets from the ground up. Thegoal of this book is to offer guidance on network programming for beginners as well asprofessionals, for those developing new network-aware applications as well as thosemaintaining existing code, and for people who simply want to understand how the networkingcomponents of their system function.

All the examples in this text are actual, runnable code tested on Unix systems.However, many non-Unix systems support the sockets API and the examples arelargely operating system-independent, as are the general concepts we present. Virtuallyevery operating system (OS) provides numerous network-aware applications such asWeb browsers, email clients, and file-sharing servers. We discuss the usual partitioningof these applications into client and server and write our own small examples of thesemany times throughout the text.

Presenting this material in a Unix-oriented fashion has the natural side effect of providingbackground on Unix itself, and on TCP/IP as well. Where more extensive backgroundmay be interesting, we refer the reader to other texts. Four texts are so commonlymentioned in this book that we've assigned them the following abbreviations:

  • APUE: Advanced Programming in the UNIX Environment Stevens 1992
  • TCPv1: TCP/IP Illustrated, Volume 1 Stevens 1994
  • TCPv2: TCP/IP Illustrated, Volume 2 Wright and Stevens 1995
  • TCPv3: TCP/IP Illustrated, Volume 3 Stevens 1996

TCPv2 contains a high level of detail very closely related to the material in this book, asit describes and presents the actual 4.4BSD implementation of the network programmingfunctions for the sockets API (socket, bind, connect, and so on). If one understandsthe implementation of a feature, the use of that feature in an application makesmore sense.

Changes from the Second Edition

Sockets have been around, more or less in their current form, since the 1980s, and it is atribute to their initial design that they have continued to be the network API of choice.Therefore, it may come as a surprise to learn that quite a bit has changed since the secondedition of this book was published in 1998. The changes we've made to the text aresummarized as follows:

  • This new edition contains updated information on IPv6, which was only in draft form at the time of publication of the second edition and has evolved somewhat.
  • The descriptions of functions and the examples have all been updated to reflect the most recent POSIX specification (POSIX 1003.1-2001), also known as the Single Unix Specification Version 3.
  • The coverage of the X/Open Transport Interface (XTI) has been dropped. That API has fallen out of common use and even the most recent POSIX specification does not bother to cover it.
  • The coverage of TCP for transactions (T/TCP) has been dropped.
  • Three chapters have been added to describe a relatively new transport protocol, SCTP. This reliable, message-oriented protocol provides multiple streams between endpoints and transport-level support for multihoming. It was originally designed for transport of telephony signaling across the Internet, but provides some features that many applications could take advantage of.
  • A chapter has been added on key management sockets, which may be used with Internet Protocol Security (IPsec) and other network security services.
  • The machines used, as well as the versions of their variants of Unix, have all been updated, and the examples have been updated to reflect how these machines behave. In many cases, examples were updated because OS vendors fixed bugs or added features, but as one might expect, we've discovered the occasional new bug here and there. The machines used for testing the examples in this book were:
  • Apple Power PC running MacOS/X 10.2.6
  • HP PA-RISC running HP-UX 11i
  • IBM Power PC running AIX 5.1
  • Intel x86 running FreeBSD 4.8
  • Intel x86 running Linux 2.4.7
  • Sun SPARC running FreeBSD 5.1
  • Sun SPARC running Solaris 9

See Figure 1.16 for details on how these machines were used.

Volume 2 of this UNIX Network Programming series, subtitled Interprocess Communications,builds on the material presented here to cover message passing, synchronization,shared memory, and remote procedure calls.

Using This Book

This text can be used as either a tutorial on network programming or as a reference forexperienced programmers. When used as a tutorial or for an introductory class on networkprogramming, the emphasis should be on Part 2, Elementary Sockets (Chapters3 through 11), followed by whatever additional topics are of interest. Part 2 covers thebasic socket functions for both TCP and UDP, along with SCTP, I/O multiplexing,socket options, and basic name and address conversions. Chapter 1 should be read byall readers, especially Section 1.4, which describes some wrapper functions usedthroughout the text. Chapter 2 and perhaps Appendix A should be referred to as necessary,depending on the reader 's background. Most of the chapters in Part 3, AdvancedSockets, can be read independently of the others in that part of the book.

To aid in the use of this book as a reference, a thorough index is provided, alongwith summaries on the end papers of where to find detailed descriptions of all the functionsand structures. To help those reading topics in a random order, numerous referencesto related topics are provided throughout the text.

Source Code and Errata Availability

The source code for all the examples that appear in the book is available on the Web The best way to learn network programming is to take these programs,modify them, and enhance them. Actually writing code of this form is the onlyway to reinforce the concepts and techniques. Numerous exercises are also provided atthe end of each chapter, and most answers are provided in Appendix E.

A current errata for the book is also available from the same Web site.

The authors welcome electronic mail from any readers with comments, suggestions,or bug fixes.

Bill Fenner

Woodside, California

Andrew M. Rudoff

Boulder, Colorado

October 2003

What Our Readers Are Saying

Add a comment for a chance to win!
Average customer rating based on 1 comment:

ptlchetan, August 28, 2006 (view all comments by ptlchetan)
this is nice book and give real guide to the developer
Was this comment helpful? | Yes | No
(1 of 2 readers found this comment helpful)

Product Details

Stevens, Richard W
Addison-Wesley Professional
Stevens, W. Richard
Rudoff, Andrew M.
Fenner, Bill
Stevens, W.
Boston, MA : Addison-Wesley
Programming Languages - General
Computer networks
Operating Systems - General
Internet programming
Data Modeling & Design
Operating Systems - UNIX
Edition Number:
Edition Description:
Updated Hardcover
Addison-Wesley professional computing series
Series Volume:
Publication Date:
November 2003
Grade Level:
Professional and scholarly
19.99 in.

Other books you might like

  1. Unix Network Programming 2ND Edition...
    Used Hardcover $55.00
  2. Advanced Programming in the Unix(r)... Used Hardcover $24.00
  3. Fear and Loathing in America: The... Used Trade Paper $8.50
  4. The Stuff of Thought: Language as a...
    Used Hardcover $8.95
  5. The Now Habit Used Trade Paper $9.50
  6. Gonzo Papers #0004: Better Than Sex Used Trade Paper $6.95

Related Subjects

Business » Accounting and Finance
Computers and Internet » Operating Systems » General
Computers and Internet » Operating Systems » Unix » Unix Administration
Computers and Internet » Operating Systems » Unix » Unix and Linux Programming
Computers and Internet » Software Engineering » Programming and Languages
Science and Mathematics » Electricity » General Electronics

Unix Network Programming Volume 1 3RD Edition the Sockets N New Hardcover
0 stars - 0 reviews
$87.75 In Stock
Product details 1024 pages Addison-Wesley Professional - English 9780131411555 Reviews:
"Synopsis" by , Thorough and authoritative, this book contains comprehensive coverage of the sockets API, the defacto standard for network programming. Once the basics are covered, the author moves on to advanced sockets topics, including IPv4 and IPv6 interoperability, UNIX domain protocols, nonblocking I/O, broadcasting, multicasting, threads and routing sockets. Client/server design alternatives are also fully examined.
"Synopsis" by , This revised guide to Unix networking APIs updates coverage of programming standards and debugging techniques, and covers operating systems including Red Hat 9, Solaris 9, HP-UX, Free BSD 4.8/5.0, AIX 5.x and Mac OS X.
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at