Home > Store

Linux Socket Programming

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

Linux Socket Programming

eBook (Adobe DRM)

  • Sorry, this book is no longer in print.
  • About Adobe DRM eBooks
  • This eBook requires the free Adobe® Digital Editions software.

    Before downloading this DRM-encrypted PDF, be sure to:


    • Install the free Adobe Digital Editions software on your machine. Adobe Digital Editions only works on Macintosh and Windows, and requires the Adobe Flash Player. Please see the official system requirements.
    • Authorize your copy of Adobe Digital Editions using your Adobe ID (select AdobeID as the eBook vendor). If you don't already have an Adobe ID, you can create one here.
Not for Sale

Description

  • Copyright 2003
  • Pages: 552
  • Edition: 1st
  • eBook (Adobe DRM)
  • ISBN-10: 0-7686-5744-X
  • ISBN-13: 978-0-7686-5744-9

This book teaches readers how to program Linux sockets, and gives them everything they need to know to make programs communicate effetively over networks.

It presents a comprehensive discussion of all relevant topics including: writing programs compatible with both Internet Protocol version 4 (IPv4) and IPv6, raw sockets, User Datagram Protocol (UDP), broadcasting /multicasting, server internals, and more, plus a section covering Posix threads.

It provides thorough coverage of programming with the TCP, UDP, and IP protocols, as well as lower-level raw sockets. The myriad of function calls, data structures, and options associated with the APIs are explained with well-chosen diagrams and tables.

  • After reading this book, the reader will be able to:
  • Differentiate basic datagrams vs. streaming sockets.
  • Differentiate unicast, broadcast, and multicast sockets.
  • Write socket-based network programs.
  • Write portable code for various OS'.
  • Implement client-server and peer communications
  • Increase network throughput using "connectionless" communications
  • Manage asynchronous I/O, I/O and multiple sockets.
  • Use signals, threading and processes to manage socket connections.
  • Understand new socket technologies like Mbone and 6bone.
  • Understand Remote Procedure Calls and how to implement them.
  • Understand the different socket addressing types.

Sample Content

Table of Contents



Introduction.

I. NETWORK PROGRAMMING FROM THE CLIENT PERSPECTIVE.

1. Introducing the Cookbook Network Client.

Connecting the World with Sockets. Talking the Talk: TCP/IP Addressing Overview. Hearing the Server: The Client's Basic Algorithm.

The Socket System Call: Procedures and Caveats. Making the Call: Connecting to the Server. Getting the Server's Reply. Closing the Connection.

Summary: What's Going On Behind the Scenes?

2. TCP/IP Network Language Fluency.

An IP Numbering Overview.

Computer Identification. Internet ID Organization. Subnetwork Masks. Routers and Address Resolution. Special and Dwindling Addresses.

IP Host Port Numbers. Network Byte Ordering.

Using Internet Conversion Tools. Applying the Tools and Extending the Client.

Different Kinds of sockaddr. UNIX Named Pipes. Summary: Applying IP Numbering and Tools.

3. Different Types of Internet Packets.

The Fundamental Network Packet.

version Field. header_len Field. serve_type Field. ID Field. dont_frag, more_frags, frag_offset Flags and Field. time_to_live (TTL) Field. protocol Field. options Field. data Field.

Dissecting the Various Packets.

Considering the Packet's Issues. Packet Types.

How the IP Protocols Fit Together. Snooping the Network with Tcpdump. Writing a Custom Network Snooper. Summary: Choosing the Best Packets for Sending Messages.

4. Sending Messages Between Peers.

What Are Connection-Based Sockets?

Open Channels Between Programs. Reliable Communications. Lower Protocol Connections.

Example: Connecting to the HTTP Daemon.

Simplified HTTP Protocol. Getting an HTTP Page.

What Are Connectionless Sockets?

Setting the Socket's Address. Some Programs Just Need the Message. Transaction TCP (T/TCP): A Connectionless TCP.

Sending a Direct Message.

Binding the Port to Your Socket. Tossing the Message Around. Catching the Message.

Ensuring UDP Message Arrival.

Strengthening UDP's Reliability. Sequencing Packets. Packet Redundancy. Verifying Data Integrity. Data Flow Glitches.

Juggling Tasks: A Multitasking Introduction. Summary: Connected Versus Connectionless Models.

5. Understanding the Network Layering Model.

Solving the Network Challenge.

Networking Hardware Issues. Networking Transmission Issues. Network to Operating System Interfacing. Network to Program Interfacing.

Ope

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.