Effective TCP/IP Programming - Jon C. Snader

Effective TCP/IP Programming

44 Tips to Improve Your Network Programs: 44 Tips to Improve Your Network Programs

(Autor)

Buch | Softcover
320 Seiten
2000
Addison Wesley (Verlag)
978-0-201-61589-0 (ISBN)
59,80 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Offering tips, practices, and rules of thumb for learning high-performance TCP/IP programming techniques, this book shows you how to avoid TCP/IP's most common trouble spots. It also offers advice on such topics as: exploring IP addressing, subnets, and CIDR; preferring the sockets interface over XTI/TLI; using two TCP connections; and more.
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!

Jon C. Snader is a TCP/IP and VPN expert whose background includes work in communications, networking, compiler development, operating systems, and radio network controllers.

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

Erscheint lt. Verlag 15.5.2000
Verlagsort Boston
Sprache englisch
Maße 189 x 234 mm
Gewicht 490 g
Themenwelt Informatik Netzwerke TCP / IP und IPv6
ISBN-10 0-201-61589-4 / 0201615894
ISBN-13 978-0-201-61589-0 / 9780201615890
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich

von Barry Pollard

Buch | Softcover (2019)
Manning Publications (Verlag)
53,95