Provides practical solutions for developing and optimizing complex distributed systems using the ACE, a revolutionary open-source framework that runs on dozens of hardware platforms and operating systems. Guides software professionals through the traps and pitfalls of developing efficient, portable, and flexible networked applications. Softcover.
From the Back Cover
As networks, devices, and systems continue to evolve, software engineers face the unique challenge of creating reliable distributed applications within frequently changing environments. C++ Network Programming, Volume 1, provides practical solutions for developing and optimizing complex distributed systems using the ADAPTIVE Communication Environment (ACE), a revolutionary open-source framework that runs on dozens of hardware platforms and operating systems.
This book guides software professionals through the traps and pitfalls of developing efficient, portable, and flexible networked applications. It explores the inherent design complexities of concurrent networked applications and the tradeoffs that must be considered when working to master them.
C++ Network Programming begins with an overview of the issues and tools involved in writing distributed concurrent applications. The book then provides the essential design dimensions, patterns, and principles needed to develop flexible and efficient concurrent networked applications. The book's expert author team shows you how to enhance design skills while applying C++ and patterns effectively to develop object-oriented networked applications.
Readers will find coverage of:
- C++ network programming, including an overview and strategies for addressing common development challenges The ACE Toolkit
- Connection protocols, message exchange, and message-passing versus shared memory
- Implementation methods for reusable networked application services
- Concurrency in object-oriented network programming
- Design principles and patterns for ACE wrapper facades
With this book, C++ developers have at their disposal the most complete toolkit available for developing successful, multiplatform, concurrent networked applications with ease and efficiency.