Home > Store

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

Register your product to gain access to bonus material or receive a coupon.

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

Book

  • Sorry, this book is no longer in print.
Not for Sale

eBook

  • Your Price: $49.59
  • List Price: $61.99
  • Includes EPUB and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    Adobe Reader PDF The popular standard, used most often with the free Acrobat® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Description

  • Copyright 2000
  • Dimensions: 7-3/8" x 9-1/4"
  • Pages: 320
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-61589-4
  • ISBN-13: 978-0-201-61589-0

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!

Downloads

Source Code

Source Code and Online Resources

source code for the examples in the book

Extras

Web Resources

Click below for Web Resources related to this title:
Author Web Site

Sample Content

Table of Contents



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

Preface



0201615894P04062001

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.