56 used & new from $9.00

Have one to sell? Sell yours here
 
 
UNIX Network Programming: Networking APIs: Sockets and XTI; Volume 1
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

UNIX Network Programming: Networking APIs: Sockets and XTI; Volume 1 (Hardcover)

~ W. Richard Stevens (Author)
4.6 out of 5 stars  See all reviews (47 customer reviews)


Available from these sellers.


11 new from $19.00 45 used from $9.00
There is a newer edition of this item:
Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition) Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition) 4.8 out of 5 stars (25)
$45.12
In Stock.

Customers Who Bought This Item Also Bought

UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition)

UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition)

by H. Richard Stevens
4.4 out of 5 stars (11)  $62.78
TCP/IP Illustrated, Volume 1: The Protocols

TCP/IP Illustrated, Volume 1: The Protocols

by W. Richard Stevens
4.8 out of 5 stars (81)  $51.60
UNIX Network Programming

UNIX Network Programming

by W. Richard Stevens
4.6 out of 5 stars (16)  $80.58
TCP/IP Illustrated, Volume 2: The Implementation

TCP/IP Illustrated, Volume 2: The Implementation

by Gary R. Wright
4.6 out of 5 stars (19)  $45.91
Advanced Programming in the UNIX(R) Environment (Addison-Wesley Professional Computing Series)

Advanced Programming in the UNIX(R) Environment (Addison-Wesley Professional Computing Series)

by Stephen A. Rago
Explore similar items

Editorial Reviews

Amazon.com Review

The classic programming text Unix Network Programming has been updated by author W. Richard Stevens to encompass three new volumes. There have been a few changes in the computing world since 1990 (the year the original was published), and Stevens has taken the opportunity to create a complete set of reference manuals for programmers of all skill levels.

The first volume, Networking APIs: Sockets and XTI, covers everything you need to know to make your programs communicate over networks. Stevens covers everything from writing your programs to be compatible with both Internet Protocol version 4 (IPv4) and IPv6, to raw sockets, routing sockets, User Datagram Protocol (UDP), broadcasting/multicasting, routing sockets, server internals, and more, plus a section covering Posix threads.

Stevens also notes compatibility issues with different operating systems so that readers can create code that is more portable, and he offers plenty of advice on how to make code more robust. --Doug Beaver



Product Description

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.

Product Details

  • Hardcover: 1009 pages
  • Publisher: Prentice Hall PTR; 2nd edition (January 15, 1998)
  • Language: English
  • ISBN-10: 013490012X
  • ISBN-13: 978-0134900124
  • Product Dimensions: 9.3 x 7.4 x 1.7 inches
  • Shipping Weight: 3.8 pounds
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (47 customer reviews)
  • Amazon.com Sales Rank: #172,237 in Books (See Bestsellers in Books)

    Popular in these categories: (What's this?)

    #7 in  Books > Computers & Internet > Programming > APIs & Operating Environments > Unix
    #12 in  Books > Computers & Internet > Networking > Network Programming

Look Inside This Book


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(4)
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

47 Reviews
5 star:
 (38)
4 star:
 (3)
3 star:
 (4)
2 star:
 (1)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (47 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
65 of 69 people found the following review helpful:
3.0 out of 5 stars Good but overrated, July 31, 2000
By Bryan McClendon (Parsons, KS USA) - See all my reviews
The book is very good for touching on quite a few topics in Network programming and doing so in a concise way. However, when reading the book I often felt as if I wasn't learning socket programming so much as learning how to access Steven's personal API to socket programming. When Stevens introduces a new concept he will immediately afterwords introduce a wrapper function that he uses to do it 'correctly'. From then on he will continue to use this wrapper function throughout the rest of the book whenever he needs to use the stanard library function. In fact, in any 10 lines of source in the book it seems like there will be 7 wrapper functions. This of course makes it very hard to use the book as a reference unless you are resigned to using Steven's wrapper library in all of your projects. In several cases, when attempting to reference some concept I ended up flipping through several pages in different chapters to look up definitions and prototypes for these functions in different place, and then diging deeper into the function to decipher what was going on. All I really wanted was a quick answer to a specific question concerning a socket. I can't deny that what he ends up with is a nicely done system for working with sockets, but I don't feel a general programming text should take this approach. I'll be shopping for a different socket book to use as a desk reference.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
15 of 15 people found the following review helpful:
5.0 out of 5 stars One of Two Must-Have UNIX Books, March 3, 2003
By Randy Given (Manchester, CT USA) - See all my reviews
(TOP 500 REVIEWER)    (REAL NAME)   
This is one of two must-have UNIX books ("UNIX Network Programming" and "Advanced Programming for the UNIX Environment"). After I had been using UNIX for a long time and was getting into more advanced UNIX programming about a decade ago, these two books were recommended. I checked around and made comparisons. Sure enough, I had to agree. I bought both of them and use them a lot, even when doing Windows programming.

As an example, I had to reference them again this weekend. I am using Visual Basic and C++ under Windows to connect some UDP/IP communications between applications. Once again, these books were indispensable (even after looking at online help, Google, Microsoft Knowledge Base and Experts-Exchange). Any Internet professional should have both of these books on their shelf.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
22 of 24 people found the following review helpful:
5.0 out of 5 stars THE book on its subject, July 14, 2001
By Bowen Simmons (Sunnyvale, CA USA) - See all my reviews
(REAL NAME)   
First things first. This is an excellent book. It is also by far the best book on its subject. Those are the first, simplest, and most important things to understand about it.

Before explaining what makes it so good, let's get the table of contents out of the way:

Preface

Part 1. Introduction and TCP/IP

1. Introduction

2. The Transport Layer: TCP and UDP

Part 2. Elementary Sockets

3. Sockets Introduction

4. Elementary TCP Sockets

5. TCP Client-Server Example

6. I/O Multiplexing: The select() and poll() Functions

7. Socket Options

8. Elementary UDP Sockets

9. Elementary Name and Address Conventions

Part 3. Advanced Sockets

10. IPv4 and IPv6 Interoperability

11. Advanced Name and Address Conversions

12. Daemon Processes and 'inetd' Superserver

13. Advanced I/O Functions

14. Unix Domain Protocols

15. Non-Blocking I/O

16. ioctl() Operations

17. Routing Sockets

18. Broadcasting

19. Multicasting

20. Advanced UDP Sockets

21. Out-of-Band Data

22. Signal-Driven I/O

23. Threads

24. IP Options

25. Raw Sockets

26. Datalink Access

27. Client-Server Design Alternatives

Part 4. XTI: X/Open Transport Interface

28. XTI: TCP Clients

29. XTI: Name and Address Functions

30. XTI: TCP Servers

31. XTI: UDP Clients and Servers

32. XTI Options

33. Streams

34. XTI: Additional Functions

Appendix A. IPv4, IPv6, ICMPv4, ICMPv6

Appendix B. Virtual Networks

Appendix C. Debugging Techniques

Appendix D. Miscellaneous Source Code

Appendix E. Solutions to Selected Exercises

Bibliography

Index

Appendices

A. Function Prototypes

B. Miscellaneous Source Code (all source code is available for download)

C. Solutions to Selected Exercises

Bibliography

Index

Understanding why the book is as good as it is requires an understanding of what it does: (1) it serves as a tutorial for learning sockets programming, (2) it serves as an API reference, and (3) it serves as a guide to alternative strategies for network programs. It is not an easy thing to address these three disparate goals at the same time. The way Stevens does it is through his method of presentation.

The lowest-level building block around which Stevens structures his book is the individual function call. For each call (or minor variations on a single call), he provides the C prototype, and then, in text, explains what the function does, what it's arguments are for, and then provides a small C program that demonstrates it in action (all of the sample programs can also be downloaded from the web). These function-level building blocks are arranged into related sets, each of which is a chapter in the book. Each chapter has a wrapper that explains the basic concepts behind the functions in that chapter, and some review exercises at the end. The chapters in turn build on each other, with the most basic ones at the beginning and the more difficult ones towards the end.

The chapters do more, however, than just explain how the functions work, they also present different approaches to structuring socket programs. The basic problem in structuring a socket program is how to handle multiple connections. Choices include iterative vs. concurrent, multi-process vs. single-process, threaded vs. multiplexed. Stevens, in the process of teaching the reader the individual function calls, provides the reader with examples of all of these types of programs, along with a discussion of their relative strengths and weaknesses. I don't know if I can say enough in favor of Stevens' choice to include this material, or enough about the quality of his coverage of it.

Now some caveats. First, I have mixed feelings about the presentation of error handling. Stevens' coverage in the text is excellent, but the sample programs have a tendency to exit on error rather than demonstrate recovery. Also, the XTI coverage is thin; only about 120 pages of this 1,000 page book are about XTI. Finally, Stevens absolutely assumes that the reader knows how to program in C, knows general UNIX programming, and how to use Unix development tools (or at least has some other source from which to learn them). If you don't know C programming, you want to get Kernighan & Ritchie's "The C Programming Language". If you don't know about general UNIX programming, get Stevens' "Advanced Programming in the UNIX Environment". If you don't know the tools, I know of many books, but unfortunately none that I would particularly recommend.

In closing, whatever the caveats, this is clearly a five-star programming book. If you need to write socket programs, it can save you untold amounts of grief. Writing network programs that are efficient, fast, and robust is far from trivial, and you can think of the thousand pages in this book as a thousand ways to avoid a thousand mistakes. While it expensive, it paid for itself for me in the first hour, and every hour since has been a dividend - if only all my investments had worked out this well...

---

Note - this book is listed as volume one of a two volume set, but for network programming, the first volume stands by itself quite well. The second volume is a grab-bag of material on pipes, message queues, mutexes, locks, semaphores, shared memory, and remote procedure calls. For network programming proper, the first volume is all you need.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars Richard Steven Rocks.
The Best series of books to learn Network programming from. The BEST in the world. Nothing comes close. Richard Steven rocks always !
Published 20 months ago by S. Devasundaram

5.0 out of 5 stars It's simply good!
If I want a dog, I won't buy a cat.
The good thing of a cat is, it won't bark.
Published on November 5, 2003 by Yao

1.0 out of 5 stars Boring Dictionary of N/W Programming
Though book is preety straight forward.
It rarely talks about tricks,code is highly redundant in the sense that everywhere error checking is being done. Read more
Published on October 29, 2003 by dinesh

4.0 out of 5 stars A good reference
The coding examples weren't so hot in my opinion but this book
provided exactly what I needed to jump on the UNIX network programming bandwagon and remains a reference tool.
Published on April 15, 2003 by Steven Vrionis

5.0 out of 5 stars Classical Works!
In my work, Stevens' books are absolutely a must-have reference.
Anytime I am confused, it is clarified somewhere in this two-volume book. Read more
Published on September 16, 2002 by Xu Qiang

5.0 out of 5 stars The best book in class.
This is the best book of its class. I cannot think of working seriouly with TCP/IP programming without reading Stevens' book. The definitive guide.
Published on June 18, 2002 by carlesm

5.0 out of 5 stars The Bible in this topic
I am a network programmer and this book is truly the bible in this subject. I have read the first edition and bought the second edition to gain an understanding of the new topics... Read more
Published on March 19, 2002 by ART SEDIGHI

5.0 out of 5 stars Excellent!
When skimming this book, and reading the reviews posted here, I had my doubts about the book because of Stevens' extensive use of his wrappers. Read more
Published on June 28, 2001 by Mike

2.0 out of 5 stars First Edition was Better
While I understand the author has died, and am sorry for this profound loss, I still have some comments. Read more
Published on June 14, 2001 by Peter Klosky

3.0 out of 5 stars Its okay, although it has its downfalls.
The book is jam packed full of useful information, but when it comes down the the programming examples, he writes almost all of his code using wrappers, or functions he has... Read more
Published on March 3, 2001

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.



Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.