The Definitive Guide to Linux Network Programming offers a clear, concise treatment of creating clients and servers under the Linux operating system. This book assumes that you know C and have experience developing code on Linux, but it provides everything else you'll need as a programmer for real-world network programming.
Whether you’re a Windows developer looking to expand to Linux, or you’re a proficient Linux developer looking to incorporate client-server programming into your applications, this book has a wealth of invaluable information to suit your needs.
This book covers design, implementation, debugging, and security. You’ll also learn about the many kinds of socket types, sessioned versus sessionless protocols, and encryption, as well as how to build a custom protocol, how to use SSL, and how to tunnel data.
Table of Contents
- Networks and Protocols
- Functions
- Socket Programming
- Protocols, Sessions, and State
- Client-Server Architecture
- Implementing Custom Protocols
- Design Decisions
- Debugging and Development Cycle
- Case Study: A Networked Application
- Securing Network Communication
- Authentication and Data Signing
- Common Security Problems
- Case Study: A Secure Networked Application
Nathan Yocom has worn many hats in the IT industry over the years. He currently works as a software engineer for Bynari, Inc., specializing in messaging and groupware software. With a bachelor's degree in computer science from Pacific Lutheran University in Tacoma, Washington, Nathan is also the cofounder of XPA Systems (http://www.xpasystems.com) and author of pGina, an open source program that simplifies the Windows logon process by providing for the authentication of a user via many different methods. In his spare time, in addition to playing the guitar and an occasional round of golf, Nathan enjoys spending time with his wife, Katie.