TCP/IP Sockets in C, 2nd Edition,Michael Donahoo,Kenneth Calvert,ISBN9780123745408

216 Pages / 235 X 191



Add to Wish List
 

TCP/IP Sockets in C, 2nd Edition

Practical Guide for Programmers

Print Book

Author(s) : Donahoo   &    Calvert   

Published: 17 Mar 2009

Imprint: Morgan Kaufmann

ISBN: 9780123745408

This succinct new edition of our best-selling title presents everything you need know to get up and running with C sockets programming in one affordable volume!

Buy print & eBook together
and save 40%

USD 30.95
Print Book

+

USD 30.95
eBook

USD 61.90 Normal price

USD 37.14 Bundle price

Add to Cart
Select format

Print Book

Paperback

USD 30.95

In Stock

 

Key Features

  • Includes completely new and expanded sections that address the IPv6 network environment, defensive programming, and the select() system call, thereby allowing the reader to program in accordance with the most current standards for internetworking.
  • Streamlined and concise tutelage in conjunction with line-by-line code commentary allows readers to quickly program web-based applications without having to wade through unrelated and discursive networking tenets.
  • Grants the reader access to online source code, which the can then be used to directly implement sockets programming procedures.

Description

TCP/IP Sockets in C: Practical Guide for Programmers, 2nd Edition is a quick and affordable way to gain the knowledge and skills needed to develop sophisticated and powerful web-based applications. 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. This edition has been expanded to include new advancements such as support for IPv6 as well as detailed defensive programming strategies.

If you program using Java, be sure to check out this book’s companion, TCP/IP Sockets in Java: Practical Guide for Programmers, 2nd Edition.


Readership

Software developers, network programmers, systems programmers, practitioners, researchers who know C and want to learn about writing C networking applications that use TCP/IP, students in courses on computer networking, operating systems, and distributed computing

Michael Donahoo

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.

Affiliations and Expertise

Baylor University, Waco, TX, USA

View additional works by Michael J. Donahoo

Kenneth Calvert

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.

Affiliations and Expertise

University of Kentucky, Lexington, KY, USA

View additional works by Kenneth L. Calvert

TCP/IP Sockets in C, 2nd Edition

1 Introduction
1.1 Networks,Packets,andProtocols
1.2 AboutAddresses
1.2.1 Writing DownIPAddresses
1.2.2 Dealing withTwoVersions
1.2.3 PortNumbers
1.2.4 SpecialAddresses
1.3 AboutNames
1.4 ClientsandServers
1.5 WhatIsaSocket?

2 Basic TCP Sockets
2.1 IPv4TCPClient
2.1.1 TCPServer
2.2 Creating andDestroying Sockets
2.3 Specifying Addresses
2.3.1 GenericAddresses
2.3.2 IPv4Addresses
2.3.3 IPv6Addresses
2.3.4 GenericAddressStorage
2.3.5 Binary/String AddressConversion
2.3.6 Getting aSocket’sAssociatedAddresses
2.4 Connecting aSocket
2.5 Binding toanAddress
2.6 Handling Incoming Connections
2.7 Communication
2.8 Using IPv6

3 Of Names and Address Families
3.1 Mapping NamestoNumbers
3.1.1 Accessing theNameService
3.1.2 Details,Details
3.2 Writing Address-GenericCode
3.2.1 GenericTCPClient
3.2.2 GenericTCPServer
3.2.3 IPv4-IPv6Interoperation
3.3 Getting NamesfromNumbers

4 Using UDP Sockets
4.1 UDPClient
4.2 UDPServer
4.3 Sending andReceiving withUDPSockets
4.4 Connecting aUDPSocket

5 Sending and Receiving Data
5.1 Encoding Integers
5.1.1 SizesofIntegers
5.1.2 ByteOrdering
5.1.3 SignednessandSignExtension
5.1.4 Encoding Integersby Hand
5.1.5 Wrapping TCPSocketsinStreams
5.1.6 Structure Overlays: Alignment and Padding
5.1.7 StringsandText
5.1.8 Bit-Diddling:Encoding Booleans
5.2 Constructing,Framing andParsing Messages
5.2.1 Framing
5.2.2 Text-BasedMessageEncoding
5.2.3 Binary MessageEncoding
5.2.4 Putting ItAllTogether
5.3 Wrapping Up

6 Beyond the Basic Socket Programming
6.1 SocketOptions
6.2 Signals
6.3 Nonblocking I/O
6.3.1 Nonblocking Sockets
6.3.2 AsynchronousI/O
6.3.3 Timeouts
6.4 Multitasking
6.4.1 Per-ClientProcesses
6.4.2 Per-ClientThread
6.4.3 ConstrainedMultitasking
6.5 Multiplexing
6.6 MultipleRecipients
6.6.1 Broadcast
6.6.2 Multicast
6.6.3 Broadcastvs. Multicast

7 Under the Hood
7.1 Buffering andTCP
7.2 DeadlockDanger
7.3 PerformanceImplications
7.4 TCPSocketLifeCycle
7.4.1 Connecting
7.4.2 Closing aTCPConnection
7.5 Demultiplexing Demystified

8 Socket Programming in C++
8.1 PracticalSocketLibrary Overview
8.2 PlusOneService
8.2.1 PlusOneServer
8.2.2 PlusOneClient
8.2.3 Running ServerandClient
8.3 Survey Service
8.3.1 Survey SupportFunctions
8.3.2 Survey Server
8.3.3 Survey Client
8.3.4 Running ServerandClient
8.4 Survey Service,Mark2
8.4.1 SocketAddressSupport
8.4.2 SocketiostreamInterface
8.4.3 EnhancedSurvey Server
8.4.4 EnhancedSurvey Client
8.4.5 AdministrativeClient
8.4.6 Running ServerandClients

Quotes and reviews

"Despite my having developed systems software with Sockets and C for 20+ years, I find myself still needing a book like this one. It covers all the subtleties and gotchas that one encounters when writing distributed applications in C with Sockets."--- Bobby Krupczak, The Krupczak Organization

Home » Computer Science » Computer Networking » TCP/IP Sockets in C