Programming Books C Java PHP Python Learn more Browse Programming Books
Qty:1
  • List Price: $49.95
  • Save: $8.90 (18%)
Only 2 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
BSD Sockets Programming F... has been added to your Cart
FREE Shipping on orders over $35.
Used: Very Good | Details
Sold by bacobooks
Condition: Used: Very Good
Comment: *****FREE 2-DAY SHIPPING with Amazon Prime. Great Buy*****
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

BSD Sockets Programming From a Multi-Language Perspective (Programming Series) Paperback – September 30, 2003

ISBN-13: 978-1584502685 ISBN-10: 1584502681 Edition: 1st

Buy New
Price: $41.05
11 New from $10.88 14 Used from $5.90
Amazon Price New from Used from
Paperback
"Please retry"
$41.05
$10.88 $5.90
Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

NO_CONTENT_IN_FEATURE

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Series: Programming Series
  • Paperback: 350 pages
  • Publisher: Cengage Learning; 1 edition (September 30, 2003)
  • Language: English
  • ISBN-10: 1584502681
  • ISBN-13: 978-1584502685
  • Product Dimensions: 9.3 x 7.4 x 1.1 inches
  • Shipping Weight: 1.8 pounds (View shipping rates and policies)
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Best Sellers Rank: #1,428,865 in Books (See Top 100 in Books)

Editorial Reviews

Review

INTRODUCTION TO SOCKETS PROGRAMMING 1 NETWORKING OVERVIEW What Is the Internet? Internet Model of Communication The IP Protocol Suite Network Layer Transport Layer Application Layer Types of Communication Stream Datagram Broadcast Multicast Packet Processing in a Network Stack Addressing IP Addresses Subnetting Introduction to IP Routing Simple Routing Example Local (Interior) Ethernet Routing Exterior Routing Network Entities Hosts Bridges Routers Gateways 2 INTRODUCTION TO SOCKETS PROGRAMMING The Sockets Programming Paradigm Ports Sockets Addressing Sample Server Source Discussion Sample Client Source Discussion Client/Server Symmetry Network Byte Order Swapping Byte Order 3 STANDARD BSD API FUNCTIONS socketFunction bindFunction listenFunction acceptFunction connectFunction recv/recvfromFunction send/sendtoFunction closeFunction htons/ntohs/htonl/ntohlFunctions inet_addr/inet_aton/inet_ntoaFunctions 4 ADVANCED SOCKETS FUNCTIONS selectFunction getsocknameFunction getpeernameFunction getsockopt/setsockoptFunctions shutdownFunction gethostname/sethostnameFunctions gethostbyaddrFunction gethostbynameFunction getservbynameFunction getservbyportFunction 5 SOCKET OPTIONS Socket Options API Sockets Layer Options TCP Layer Options IP Layer Options 6 ADVANCED SOCKETS PROGRAMMING TOPICS Out-of-Band (OOB) Data Nonblocking Sockets Determining Peer Socket Closure Resolving a Domain Name to an IP Address Writing Servers for Multi-homed Nodes Timing Out a Socket Connect Data Framing (TCP vs. UDP) Connectionless and Connected Datagram Sockets Timing Out a Read or Write Operation Determining Peer Information Determining the Protocol Argument for Socket Identifying Service Ports and Protocols Optimizing Sockets Applications Ensuring Full-Sized Segments Optimizing the Send and Receive Buffer Sizes Socket Buffer Sizes and TCP Socket Buffers and Performance Configuring the Socket Buffer Sizes Other Options Minimizing Latency with TCP_NODELAY Reading/Writing All Available Data Advantages and Disadvantages to Select Using Multiple Sockets Separating Control and Data Connections Using Stack Callbacks Using Zero-Copy Buffer Functions Using UDP instead of TCP Stack Selection Stack Configuration 8 SOCKETS PROGRAMMING PITFALLS Failing to use Function Return values Ignoring Peer Socket Closure Ignoring Endianness of Parameters in API Functions Making Protocol Framing Assumptions Causing "Address in Use" Error for Bind Listening on Multiple Interfaces Initial UDP Datagrams Disappearing Defensive Programming Using Safe Functions to Avoid Buffer Overflow Rigorously Checking Error Returns Rigorously Checking Input and Output Parameters Declaring String Arrays Minimizing Protocol Feedback Initializing All Variables Enabling All Compiler Warnings PART II SOCKETS PROGRAMMING FROM A MULTI-LANGUAGE PERSPECTIVE 9 NETWORK PROGRAMMING IN THE C LANGUAGE C Language Overview Origin of the C Language C Language Heritage Tools Compiler/Tools Used Networking API Used Where to Download Networking API for C Sockets API Summary Sockets API Discussion 10 NETWORK PROGRAMMING IN JAVA Java Language Overview Origin of the Java Language Java Language Heritage Tools Interpreter/Tools Used Networking API Used Where to Download Networking API for Java Sockets API Summary Sockets API Discussion Specialized Networking APIs for Java Java URL Class for HTTP 11 NETWORK PROGRAMMING IN PYTHON Python Language Overview Origin of the Python Language Python Language Heritage Tools Interpreter/Tools Used Networking API Used Where to Download Networking API for Python Sockets API Discussion Specialized Networking APIs for Python Python smtplibModule Python httplib Module Python SocketServerModule 12 NETWORK PROGRAMMING IN PERL Perl Language Overview Origin of the Perl Language Perl Language Heritage Tools Interpreter/Tools Used Networking API Used Where to Download Networking API for Perl Sockets API Discussion Specialized Networking APIs for Perl Perl Net::SMTPModule Perl LWP::SimpleModule 13 NETWORK PROGRAMMING IN RUBY Ruby Language Overview Origin of the Ruby Language Ruby Language Heritage Tools Interpreter/Tools Used Networking API Used Where to Download Networking API for Ruby Class vs. Instance Methods Sockets API Summary Sockets API Discussion Specialized Networking APIs for Ruby Ruby Net::SMTPClass Ruby Net::HTTPClass 14 NETWORK PROGRAMMING IN TCL Tcl Language Overview Origin of the Tcl Language Tcl Language Heritage Tools Interpreter/Tools Used Networking API Used Where to Download Networking API for Tcl Sockets API Discussion PART III SOFTWARE PATTERNS FROM A MULTI-LANGUAGE PERSPECTIVE 15 SOFTWARE PATTERNS INTRODUCTION Stream Server/Client Design Datagram Server/Client Design Broadcast Datagram Server/Client Design Multicast Datagram Server/Client Design Simple HTTP Server Design Simple SMTP Client Design 16 NETWORK CODE PATTERNS IN C Stream (TCP) Server/Client Stream Server Stream Client Datagram (UDP) Server/Client Datagram Server Datagram Client Multicast Server/Client Multicast Server Multicast Client Broadcast Server/Client Broadcast Server Broadcast Client Simple HTTP Server Simple SMTP Client 17 NETWORK CODE PATTERNS IN JAVA Stream (TCP) Server/Client Stream Server Stream Client Datagram (UDP) Server/Client Datagram Server Datagram Client Multicast Server/Client Multicast Server Multicast Client Simple HTTP Server Simple SMTP Client 18 NETWORK CODE PATTERNS IN PYTHON Stream (TCP) Server/Client Stream Server Stream Client Datagram (UDP) Server/Client Datagram Server Datagram Client Multicast Server/Client Multicast Server Multicast Client Broadcast Server/Client Broadcast Server Broadcast Client Simple HTTP Server Simple SMTP Client 19 NETWORK CODE PATTERNS IN PERL Stream (TCP) Server/Client Stream Server Stream Client Datagram (UDP) Server/Client Datagram Server Datagram Client Multicast Server/Client Multicast Server Multicast Client Broadcast Server/Client Broadcast Server Broadcast Client Simple HTTP Server Simple SMTP Client 20 NETWORK CODE PATTERNS IN RUBY Stream (TCP) Server/Client Stream Server Stream Client Datagram (UDP) Server/Client Datagram Server Datagram Client Multicast Server/Client Multicast Server Multicast Client Broadcast Server/Client Broadcast Server Broadcast Client Simple HTTP Server Simple SMTP Client 21 NETWORK CODE PATTERNS IN TCL Introduction Stream (TCP) Server/Client Stream Server Stream Client Datagram (UDP) Client Datagram Client Multicast Server/Client Multicast Server Multicast Client Broadcast (UDP) Client Simple HTTP Server Simple SMTP Client Appendix A About the CD-ROM System Requirements Operating System Requirements On the CD-ROM Software Patterns Software Tools Software License Appendix B Acronyms

About the Author

M. Tim Jones is an embedded software architect and the author of numerous books, including AI Application Programming, Second Edition (Charles River Media), BSD Sockets Programming from a Multilanguage Perspective (Charles River Media), Artifi cial Intelligence: A Systems Approach, and many articles on a variety of technical subjects. His engineering background ranges from the development of kernels for geosynchronous spacecraft to embedded systems architecture and networking protocols development. Tim is a consultant engineer for Emulex Corp. in Longmont, Colorado.

More About the Author

I'm M. Tim Jones, embedded firmware engineer and author. My interests include artificial intelligence, networking protocols and embedded Linux.

I started my career in 1984, building onboard firmware for geosynchronous communications satellites, and today develop protocol firmware for embedded networking and storage products at Emulex, Corp.

Customer Reviews

5.0 out of 5 stars
5 star
1
4 star
0
3 star
0
2 star
0
1 star
0
See the customer review
Share your thoughts with other customers

Most Helpful Customer Reviews

3 of 5 people found the following review helpful By Dan B. on November 14, 2003
Format: Paperback
M. Tim Jones does a great job in "BSD Sockets Programming" of showing the reader step by step how to develop network applications, what to keep in mind, and what to look out for. His explainations are clear and well written. The major strength of this book is that it covers so many languages so well. There are a good set of refrence for each language and then many example implemntations in the Software Patterns section.
This book does not cover IPv6, which is fine and the author states at the beginning. I would liked to have seen a little more coverage of threads and network programming, but as it is the reader will have a good foundation of network programming and a good refrence on their bookshelf.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again