Search:

Product Information All Elsevier Sites   Advanced Product Search
SiteStat.jsp
TCP/IP SOCKETS IN C
TCP/IP Sockets in C
Practical Guide for Programmers
To order this title, and for more information, click here
Second Edition

By
Michael Donahoo, Baylor University, Waco, TX, USA
Kenneth Calvert, University of Kentucky, Lexington, KY, USA

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 simple, real-world examples, and are accompanied by line-by-line code commentary that describes the purpose of each part of the program. The book's companion website also contains myriad employable examples of command-based source code discussed throughout the text.

A great deal has changed in the 6 years since the first edition of this book was published. The widespread adoption of IPv6 has led to a new standard for internetworking and the exponential increase of computer processing power have enhanced the efficacy and scope of electronic espionage. Therefore, this edition has amended and expanded outdated sections in accordance with both new advancements and dangers. The book now explains both the IPv6 and IPv4 address schemes as well as how to do sockets programming in the mixed IPv6/IPv4 networks environment. It also details defensive programming strategies in the context of building security-aware distributed systems, and introduces the select() system call from a performance and predictability perspective in large systems.

In summary, the book provides both a general overview of networking concepts to allow readers to synchronize the concepts with terminology, while providing a springboard to more advanced networking topics through the basic application of the latest technological developments. No other resource presents so concisely and effectively the material necessary to get up and running with C sockets programming.


Audience
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

Contents
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

Bibliographic details
Paperback, 216 pages, publication date: MAR-2009
ISBN-13: 978-0-12-374540-8
Imprint: MORGAN KAUFFMAN

Price and Ordering
Price:
USD 29.95
GBP 17.99
EUR 20.95
order now
Books and book related electronic products are priced in US dollars (USD), euro (EUR), and Great Britain Pounds (GBP). USD prices apply to the Americas and Asia Pacific. EUR prices apply in Europe and the Middle East. GBP prices apply to the UK and all other countries.
See also information about conditions of sale & ordering procedures, and links to our regional sales offices.

077/757
Last update: 5 Sep 2009
Book contents
Table of contents
Reviews
Submit your review
Bookmark this page
Recommend this publication
Overview of all books
Printer-friendly version   Printer-friendly version