TCP/IP Sockets in C: Practical Guide for Programmers, Second Edition

  • 3h 45m
  • Kenneth L. Calvert, Michael J. Donahoo
  • Elsevier Science and Technology Books, Inc.
  • 2009

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.

  • 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.

About the Authors

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.

In this Book

  • Introduction
  • Basic TCP Sockets
  • Of Names and Address Families
  • Using UDP Sockets
  • Sending and Receiving Data
  • Beyond Basic Socket Programming
  • Under the Hood
  • Socket Programming in C++