We Need Diverse Ya Sale

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    The Powell's Playlist | June 15, 2015

    Matthew Quick: IMG Portia Kane's '80s Metal Mix

    Two of Love May Fail's main characters, Portia Kane and Chuck Bass — now in their early 40s — still love the metal music that was... Continue »
    1. $18.19 Sale Hardcover add to wish list

      Love May Fail

      Matthew Quick 9780062285560

Qualifying orders ship free.
Used Trade Paper
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Local Warehouse Unix- Unix and Linux Programming

Linux Socket Programming by Example


Linux Socket Programming by Example Cover


Synopses & Reviews

Publisher Comments:

Linux Socket Programming by Example begins with a very basic introduction to the fundamentals of socket level programming. As the chapters progress, you are introduced to related concepts, such as forming network addresses, Ipv6, the TCP/IP protocol suite and options, writing servers, and creating secure applications. You will also learn about socket fundamentals, domains and addresses, address conversion functions, socket types and protocols, Internet sockets, types and protocols, binding an address to a socket, using Datagram oriented protocols, and much more.

Book News Annotation:

This guide for beginning to intermediate programmers offers step-by-step instructions as well as advice on protecting servers from attack, writing programs to determine socket buffer sizes, setting the TCP/IP keep-alive feature, understanding the differences between connection- and connectionless-oriented protocols, and selecting the most effective client and server interface.
Annotation c. Book News, Inc., Portland, OR (booknews.com)


A guide to socket level network programming for Linux users. The text includes information on: socket fundamentals; domains and addresses; address conversion functions; socket types and protocols; Internet sockets, types and protocols; and binding an address to a socket.

About the Author

Warren Gay is the bestselling author of Sams Teach Yourself Linux Programming in 24 Hours. He is the supervisor of Investment Management Systems at Mackenzie Financial Corporation. He has been programming professionally since 1980, programming for UNIX since 1986 and Linux since 1994. He has written many popular Internet-based Linux packages, including an ftp Backup program and a .wav player program.

Table of Contents



1. Introducing Sockets.

A Brief Historical Introduction. Understanding Sockets. Comparing Sockets to Pipes. Creating Sockets. Performing I/O on Sockets. Closing Sockets. Writing a Client/Server Example.
2. Domains and Address Families.

Nameless Sockets. Understanding Domains. Forming Socket Addresses. Forming Local Addresses. Forming Internet (IPv4) Socket Addresses. Specifying an X.25 Address. Specifying Other Address Families. The AF_UNSPEC Address Family.
3. Address Conversion Functions.

Internet IP Numbers. Allocating IP Addresses. Manipulating IP Numbers.
4. Socket Types and Protocols.

Specifying the Domain of a Socket. Using the socket(2) Function. Choosing a Socket Type. Choosing a Protocol. Socket Domain and Type Summary. Other Linux-Supported Protocols.
5. Binding Addresses to a Socket.

The Purpose of the bind(2) Function. Using the bind(2) Function. Obtaining the Socket Address. Interfaces and Addressing.
6. Connectionless-Oriented Protocols.

The Methods of Communication. Performing Input/Output of Datagrams. Writing a UDP Datagram Server. Writing a UDP Datagram Client. Testing the Datagram Client and Server.
7. Connection-Oriented Protocols for Clients.

Reviewing the Methods of Communication. Internet Services. Consulting the /etc/protocols File. Writing a TCP/IP Client Program. Using connect(2) on SOCK_DGRAM Sockets.
8. Connection-Oriented Protocols for Servers.

Understanding the Role of the Server. The listen(2) Function. The accept(2) Function Call. Writing a TCP/IP Server. Modifying the Client Program.
9. Hostname and Network Name Lookups.

Understanding the Need for Names. Using the uname(2) Function. Obtaining Hostnames and Domain Names. Resolving Remote Addresses.


10. Using Standard I/O on Sockets.

Understanding the Need for Standard I/O. Associating a Socket with a Stream. Closing a Socket Stream. Using Separate Read and Write Streams. Winding Up Communications. Handling Interrupts. Defining Buffer Operation. Applying FILE Streams to Sockets.
11. Concurrent Client Servers.

Understanding the Multiple-Client Problem. Overview of Server Functions. Using fork(2) to Service Multiple Clients. Designing Servers That Use select(2). Applying select(2) to a Server.
12. Socket Options.

Getting Socket Options. Setting Socket Options. Retrieving the Socket Type (SO_TYPE). Setting the SO_REUSEADDR Option. Setting the SO_LINGER Option. Setting the SO_KEEPALIVE Option. Setting the SO_BROADCAST Option. Setting the SO_OOBINLINE Option. Options SO_PASSCRED and SO_PEERCRED.
13. Broadcasting with UDP.

Understanding Broadcast Addresses. Broadcasting from a Server. Receiving Broadcasts. Demonstrating the Broadcasts. Broadcasting to a Network.
14. Out-of-Band Data.

Defining Out-of-Band. Understanding the Need for Out-of-Band Data. Sockets and Out-of-Band Data. Variations in Implementation. Using Out-of-Band Data. Understanding the Urgent Pointer. Receiving Out-of-Band Data Inline. Limitations of the Urgent Mode Pointer.
15. Using the inetd Daemon.

Steps Common to Most Servers. Introducing inetd. Implementing a Simple stream tcp Server. Datagram Servers with inetd.
16. Network Security Programming.

Defining Security. The Challenges of Security Identifying Friend or Foe. Securing inetd Servers. Installing Wrapper and Server Programs. Introducing the Client Program. Installing and Testing the Wrapper.
17. Passing Credentials and File Descriptors.

Problem Statement. Introducing Ancillary Data. Introducing I/O Vectors. The sendmsg(2) and recvmsg(2) Functions. Ancillary Data Structures and Macros. Presenting an Ancillary Data Example. Testing the Socket Server.
18. A Practical Network Project.

Problem Statement. Solving the Quote Service Problem. Examining the Quote Server Program. Fetching Quotations via get_tickinfo(). Broadcasting Quotes via broadcast(). Examining the Client Program. Compiling and Running the Demonstration.


Appendix A: Socket Function Quick Reference.

Socket-Specific Functions. Socket Addressing. Reading of Sockets. Writing to Sockets. Other Socket I/O. Controlling Sockets. Network Support Functions. Standard I/O Support. Hostname Support.
Appendix B: Socket-Related Structures Reference.

Socket Address Structures. Miscellaneous Structures. I/O-Related Structures.
Appendix C: Useful Network Tables.


Product Details

Gay, Warren W.
Gay, Warren W.
Indianapolis, Ind.
Networking - General
Operating systems (computers)
Programming - Software Development
Client-server computing
Operating Systems - LINUX
Linux (computer operating system)
Operating systems
Software Development & Engineering - General
Software Engineering-General
Edition Description:
Trade paper
By Example
Publication Date:
April 2000
Grade Level:
9.2 x 7.2 x 1 in 930 gr

Other books you might like

  1. Jihad vs. McWorld: How Globalism and... Used Trade Paper $4.50
  2. The Berenstain Bears and the Spooky... Used Hardcover $5.95
  3. Adventures of the Greek Heroes Used Hardcover $5.00
  4. Linux Graphics Programming with... Used Trade Paper $6.95
  5. Unix System V Network Programming... Used Trade Paper $6.95
  6. Linux Assembly Language Programming... New Trade Paper $44.95

Related Subjects

Computers and Internet » Networking » General
Computers and Internet » Operating Systems » Linux
Computers and Internet » Operating Systems » Unix » Linux
Computers and Internet » Operating Systems » Unix » Unix and Linux Programming
Computers and Internet » Software Engineering » General

Linux Socket Programming by Example Used Trade Paper
0 stars - 0 reviews
$13.95 In Stock
Product details 576 pages Que - English 9780789722416 Reviews:
"Synopsis" by , A guide to socket level network programming for Linux users. The text includes information on: socket fundamentals; domains and addresses; address conversion functions; socket types and protocols; Internet sockets, types and protocols; and binding an address to a socket.
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.