Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs

4 avg rating
( 15 ratings by GoodReads )
 
9780201615890: Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs

In 44 expert mini-lessons, Effective TCP/IP Programming demystifies TCP/IP development, eliminating the guesswork, helping programmers past the obstacles, and showing how to dramatically improve application performance and robustness. TCP/IP programming can seem seductively simple: the API is straightforward and even novices can flesh out a working application. But there are plenty of hidden obstacles -- and developers who don't understand them will encounter serious performance problems. Effective TCP/IP Programming demystifies the critical details and hidden behaviors of TCP/IP, so programmers can build code that's more reliable, maintainable, and efficient. Following the widely-admired style of Scott Meyers' Effective C++, Jon C. Snader has organized this book into 44 short, self-contained sections, each addressing one key aspect of TCP/IP development, or one key trouble spot -- and each including detailed, fully commented code examples. The result: a book that's easy to read and absorb, and will serve as an outstanding day-to-day reference tool for every developer who wants to create TCP/IP-based network applications. A perfect complement to other books on TCP/IP, such as TCP/IP Illustrated, Volume 1 by W. Richard Stevens!

"synopsis" may belong to another edition of this title.

Review:

While many C/C++ programmers know at least the basics of TCP/IP, becoming an expert network programmer usually requires a lot of experience and sometimes hard-to-find knowledge. Written to give the intermediate or advanced developer a leg-up in creating robust network applications using TCP/IP and related protocols, Effective TCP/IP Programming offers a truly valuable review and guide to getting the most out of your networked programs based on this popular standard.

Packaged as a series of 44 tips for better TCP/IP programs, this book actually does much more. Early sections review the basics of the TCP, UDP and IP protocols (along with related standards). A winning feature here is the author's care to distinguish between the well-known BSD (for UNIX) and Winsock (for Windows) versions of sockets. (By using macros and "skeleton" programs, his sample C code will run easily on either implementation.)

Besides nuts-and-bolts programming advice, and plenty of hints for better performance, Snader also discusses how IP works under the hood. Standout sections here include a discussion of the pitfalls of scaling a standalone or LAN TCP/IP application to the Internet, as well as what a "reliable" protocol like TCP really means. He shows you how to handle misbehaving servers and clients, how to use multiple sockets effectively, as well as several useful tips for optimising data streamed across the wire. Though there is no mention of Java here (which offers strong socket support on its own), the author does provide Perl examples that work with sockets to get you started with sockets used within scripting languages.

Since IP is the protocol of choice for the Internet, more and more of us are faced with becoming socket programming experts in a hurry. In all, Effective TCP/IP Programming offers a good mix of basic and advanced tips on today's IP and related protocols. It's a valuable resource for any developer who programs for the Internet and wants both to write better code using sockets. --Richard Dragan, Amazon.com

Topics covered: TCP/IP overview and programming tips, Berkeley Socket Distribution (BSD) vs. Winsock/Windows socket implementation issues, connected and connectionless protocols, network programming frameworks, UDP vs. TCP, reliable protocols, network programming for single workstations, LANs and WANs; event-driven programming, improving write operations, IP packet layout, byte ordering issues, the Nagle and delayed ACK algorithms, using network utilities: inetd, tcpmux, tcpdump, traceroute, ttcp, and netstat; resources and hints for improving network programming skills.

From the Back Cover:

Programming in TCP/IP can seem deceptively simple. Nonetheless, many network programmers recognize that their applications could be much more robust. Effective TCP/IP Programming is designed to boost programmers to a higher level of competence by focusing on the protocol suite's more subtle features and techniques. It gives you the know-how you need to produce highly effective TCP/IP programs.

In forty-four concise, self-contained lessons, this book offers experience-based tips, practices, and rules of thumb for learning high-performance TCP/IP programming techniques. Moreover, it shows you how to avoid many of TCP/IP's most common trouble spots. Effective TCP/IP Programming offers valuable advice on such topics as:
  • Exploring IP addressing, subnets, and CIDR
  • Preferring the sockets interface over XTI/TLI
  • Using two TCP connections
  • Making your applications event-driven
  • Using one large write instead of multiple small writes
  • Avoiding data copying
  • Understanding what TCP reliability really means
  • Recognizing the effects of buffer sizes
  • Using tcpdump, traceroute, netstat, and ping effectively
Numerous examples demonstrate essential ideas and concepts. Skeleton code and a library of common functions allow you to write applications without having to worry about routine chores.

Through individual tips and explanations, you will acquire an overall understanding of TCP/IP's inner workings and the practical knowledge needed to put it to work. Using Effective TCP/IP Programming, you'll speed through the learning process and quickly achieve the programming capabilities of a seasoned pro.

0201615894B04062001

"About this title" may belong to another edition of this title.

Top Search Results from the AbeBooks Marketplace

1.

Snader, Jon C.
Published by Prentice Hall
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Quantity Available: > 20
Seller
INDOO
(Avenel, NJ, U.S.A.)
Rating
[?]

Book Description Prentice Hall. Book Condition: New. Brand New. Bookseller Inventory # 0201615894

More Information About This Seller | Ask Bookseller a Question

Buy New
41.51
Convert Currency

Add to Basket

Shipping: 2.83
Within U.S.A.
Destination, Rates & Speeds

2.

Snader, Jon C.
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Paperback Quantity Available: 1
Seller
Irish Booksellers
(Rumford, ME, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Paperback. Book Condition: New. book. Bookseller Inventory # 0201615894

More Information About This Seller | Ask Bookseller a Question

Buy New
53.06
Convert Currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, Rates & Speeds

3.

Snader, Jon C.
Published by Addison-Wesley Professional
ISBN 10: 0201615894 ISBN 13: 9780201615890
New PAPERBACK Quantity Available: 1
Seller
Cloud 9 Books
(West Palm Beach, FL, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional. PAPERBACK. Book Condition: New. 0201615894 New Condition. Bookseller Inventory # NEW6.0089172

More Information About This Seller | Ask Bookseller a Question

Buy New
49.93
Convert Currency

Add to Basket

Shipping: 4.03
Within U.S.A.
Destination, Rates & Speeds

4.

Snader, Jon C.
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Paperback Quantity Available: 1
Seller
Ergodebooks
(RICHMOND, TX, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Paperback. Book Condition: New. 1. Bookseller Inventory # DADAX0201615894

More Information About This Seller | Ask Bookseller a Question

Buy New
51.58
Convert Currency

Add to Basket

Shipping: 3.22
Within U.S.A.
Destination, Rates & Speeds

5.

Snader, Jon C.
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Paperback Quantity Available: 3
Seller
Murray Media
(North Miami Beach, FL, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Paperback. Book Condition: New. Bookseller Inventory # P110201615894

More Information About This Seller | Ask Bookseller a Question

Buy New
57.68
Convert Currency

Add to Basket

Shipping: 2.42
Within U.S.A.
Destination, Rates & Speeds

6.

Snader, Jon C.
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Softcover Quantity Available: 1
Seller
Book Deals
(Lewiston, NY, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Book Condition: New. Brand New, Unread Copy in Perfect Condition. A+ Customer Service! Summary: Preface. 1. Introduction.A Few Conventions.Road Map to the Rest of the Book.Client-Server Architecture.Basic Sockets API Review.Summary.2. Basics.Tip 1: Understand the Difference between Connected and Connectionless Protocols.Tip 2: Understand Subnets and CIDR.Tip 3: Understand Private Addresses and NAT.Tip 4: Develop and Use Application "Skeletons."Tip 5: Prefer the Sockets Interface to XTI/TLI.Tip 6: Remember That TCP Is a Stream Protocol.Tip 7: Don't Underestimate the Performance of TCP.Tip 8: Avoid Reinventing TCP.Tip 9: Realize That TCP Is a Reliable Protocol, Not an Infallible Protocol.Tip 10: Remember That TCP/IP Is Not Polled.Tip 11: Be Prepared for Rude Behavior from a Peer.Tip 12: Don't Assume That a Successful LAN Strategy Will Scale to a WAN.Tip 13: Learn How the Protocols Work.Tip 14: Don't Take the OSI Seven-Layer Reference Model Too Seriously.3. Building Effective and Robust Network Programs.Tip 15: Understand the TCP Write Operation.Tip 16: Understand the TCP Orderly Release Operation.Tip 17: Consider Letting inetd Launch Your Application.Tip 18: Consider Letting tcpmux "Assign" Your Server's Well-Known Port.Tip 19: Consider Using Two TCP Connections.Tip 20: Consider Making Your Applications Event Driven (1).Tip 21: Consider Making Your Applications Event Driven (2).Tip 22: Don't Use TIME-WAIT Assassination to Close a Connection.Tip 23: Servers Should Set the SO_REUSEADDR Option.Tip 24: When Possible, Use One Large Write Instead of Multiple Small Writes.Tip 25: Understand How to Time Out a Connect Call.Tip 26: Avoid Data Copying.Tip 27: Zero the sockaddr_in Structure Before Use.Tip 28: Don't Forget about Byte Sex.Tip 29: Don't Hardcode IP Addresses or Port Numbers in Your Application.Tip 30: Understand Connected UDP Sockets.Tip 31: Remember That All the World's Not C.Tip 32: Understand the Effects of Buffer Sizes.4. Tools and Resources.Tip 33: Become Familiar with the ping Utility.Tip 34: Learn to Use tcpdump or a Similar Tool.Tip 35: Learn to Use traceroute.Tip 36: Learn to Use ttcp.Tip 37: Learn to Use lsof.Tip 38: Learn to Use netstat.Tip 39: Learn to Use Your System's Call Trace Facility.Tip 40: Build and Use a Tool to Capture ICMP Messages.Tip 41: Read Stevens.Tip 42: Read Code.Tip 43: Visit the RFC Editor's Page.Tip 44: Frequent the News Groups.Appendix A: Miscellaneous UNIX Code.etcp.h Header.The daemon Function.The signal Function.Appendix B: Miscellaneous Windows Code.The skel.h Header.Windows Compatibility Routines.Bibliography. Index. 0201615894T04062001. Bookseller Inventory # ABE_book_new_0201615894

More Information About This Seller | Ask Bookseller a Question

Buy New
60.16
Convert Currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, Rates & Speeds

7.

Snader, Jon C.
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Softcover Quantity Available: > 20
Seller
Palexbooks
(Sanford, NC, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Book Condition: New. Brand new! Please provide a physical shipping address. Bookseller Inventory # 9780201615890

More Information About This Seller | Ask Bookseller a Question

Buy New
68.71
Convert Currency

Add to Basket

Shipping: 2.42
Within U.S.A.
Destination, Rates & Speeds

8.

Snader, Jon C.
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Paperback Quantity Available: 1
Seller
Revaluation Books
(Exeter, United Kingdom)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Paperback. Book Condition: Brand New. 1st edition. 320 pages. 9.00x7.25x0.75 inches. In Stock. Bookseller Inventory # zk0201615894

More Information About This Seller | Ask Bookseller a Question

Buy New
70.03
Convert Currency

Add to Basket

Shipping: 6
From United Kingdom to U.S.A.
Destination, Rates & Speeds

9.

Snader, Jon C.
ISBN 10: 0201615894 ISBN 13: 9780201615890
New Quantity Available: 1
Seller
Castle Rock
(Pittsford, NY, U.S.A.)
Rating
[?]

Book Description Book Condition: Brand New. Book Condition: Brand New. Bookseller Inventory # 97802016158901.0

More Information About This Seller | Ask Bookseller a Question

Buy New
91.74
Convert Currency

Add to Basket

Shipping: 3.22
Within U.S.A.
Destination, Rates & Speeds