Skip to content

TCP/IP Sockets in C Practical Guide for Programmers

Best in textbook rentals since 2012!

ISBN-10: 0123745403

ISBN-13: 9780123745408

Edition: 2nd 2009

Authors: Michael J. Donahoo, Kenneth L. Calvert, Michael J. Donahoo, Kenneth L. Calvert, Kenneth Calvert

List price: $33.95
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

The Internet allows computers thousands of miles apart to exchange information through programs such as Web browsers, and nearly all of these programs gain access to network communication services through the sockets programming interface. TCP/IP Sockets in C: Practical Guide for Programmers is a quick and affordable way to gain the knowledge and skills needed to quickly develop sophisticated and powerful web-based applications. Written by two experienced networking instructors, the book's focused, tutorial-based approach enables the reader to master the tasks and techniques essential to virtually all client-server projects using sockets in C. Programming concepts are introduced through…    
Customers also bought

Book details

List price: $33.95
Edition: 2nd
Copyright year: 2009
Publisher: Elsevier Science & Technology Books
Publication date: 3/17/2009
Binding: Paperback
Pages: 216
Size: 7.75" wide x 9.50" long x 0.50" tall
Weight: 1.144
Language: English

Michael J. Donahoo teaches networking to undergraduate and graduate students at Baylor University, where he is an assistant professor. He received his Ph.D. in computer science from the Georgia Institute of Technology. His research interests are in large-scale information dissemination and management.

Kenneth L. Calvert is an associate professor at University of Kentucky, where he teaches and does research on the design and implementation of computer network protocols. He has been doing networking research since 1987, and teaching since 1991. He holds degrees from MIT, Stanford, and the University of Texas at Austin.

Preface to the Second Edition
Introduction
Networks, Packets, and Protocols
About Addresses
Writing Down IP Addresses
Dealing with Two Versions
Port Numbers
Special Addresses
About Names
Clients and Servers
What Is a Socket?
Basic TCP Sockets
IPv4 TCP Client
IPv4 TCP Server
Creating and Destroying Sockets
Specifying Addresses
Generic Addresses
IPv4 Addresses
IPv4 Addresses
Generic Address Storage
Binary/String Address Conversion
Getting a Socket's Associated Addresses
Connecting a Socket
Binding to an Address
Handling Incoming Connections
Communication
Using IPv6
Of Names and Address Families
Mapping Names to Numbers
Accessing the Name Service
Details, Details
Writing Address-Generic Code
Generic TCP Client
Generic TCP Server
IPv4-IPv6 Interoperation
Getting Names from Numbers
Using UDP Sockets
UDP Client
UDP Server
Sending and Receiving with UDP Sockets
Connecting a UDP Socket
Sending and Receiving Data
Encoding Integers
Sizes of Integers
Byte Ordering
Signedness and Sign Extension
Encoding Integers by Hand
Wrapping TCP Sockets in Streams
Structure Overlays: Alignment and Padding
Strings and Text
Bit-Diddling: Encoding Booleans
Constructing, Framing, and Parsing Messages
Framing
Text-Based Message Encoding
Binary Message Encoding
Putting It All Together
Wrapping Up
Beyond Basic Socket Programming
Socket Options
Signals
Nonblocking I/O
Nonblocking Sockets
Asynchronous I/O
Timeouts
Multitasking
Per-Client Processes
Per-Client Thread
Constrained Multitasking
Multiplexing
Multiple Recipients
Broadcast
Multicast
Broadcast vs. Multicast
Under the Hood
Buffering and TCP
Deadlock Danger
Performance Implications
TCP Socket Life Cycle
Connecting
Closing a TCP Connection
Demultiplexing Demystified
Socket Programming in C++
PracticalSocket Library Overview
Plus One Service
Plus One Server
Plus One Client
Running Server and Client
Survey Service
Survey Support Functions
Survey Server
Survey Client
Running Server and Client
Survey Service, Mark 2
Socket Address Support
Socket Iostream Interface
Enhanced Survey Server
Enhanced Survey Client
Administrative Client
Running Server and Clients
References
Index