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 ApplicationNathan 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.
John Turner is an application developer and systems administrator in Detroit, Michigan, supporting the advertising and marketing campaigns of Fortune 50 clients. With over two decades of computer experience, John has designed and administered high-availability and fault-tolerant systems for the automotive, health care, and advertising industries. He coauthored the Apache Tomcat Security Handbook and is an Apache Group committer. He holds a bachelor's degree in information systems. John's industry interests include vintage hardware, open source, mobile computing, and wireless networking. His outside interests include farming, DIY projects, dogs, history, recycling, tattoos, travel, and music composition.
Keir Davis was first exposed to programming at the age of 12, when his father brought home a Texas Instruments TI-99/4A. Keir has been programming ever since and now holds a master's degree in computer science from the University of North Carolina at Greensboro. Today, Keir is the owner of Xtern Software (http://www.xternsoftware.com), a provider of custom software development services to manufacturers around the world. Keir and his wife, Jennifer, live with their two dogs, Tess and Maggie, in North Carolina. When not sitting in front of a computer, Keir enjoys playing racquetball.