0%

Book Description

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.

    Table of Contents

    1. Title page
    2. Copyright Page
    3. Contents
    4. The C++ In-Depth Series
    5. List of Figures
    6. Foreword
    7. About This Book
    8. Chapter 0. Design Challenges, Middleware Solutions, and ACE
    9. Part I: Object-Oriented Network Programming
      1. Chapter 1. Communication Design Dimensions
      2. Chapter 2. An Overview of the Socket API
      3. Chapter 3. The ACE Socket Wrapper Facades
      4. Chapter 4. Implementing the Networked Logging Service
    10. Part II. Concurrent Object-Oriented Network Programming
      1. Chapter 5. Concurrency Design Dimensions
      2. Chapter 6. An Overview of Operating System Concurrency Mechanisms
      3. Chapter 7. The ACE Synchronous Event Demultiplexing Wrapper Facades
      4. Chapter 8. The ACE Process Wrapper Facades
      5. Chapter 9. The ACE Threading Wrapper Facades
      6. Chapter 10. The ACE Synchronization Wrapper Facades
    11. Appendix A. Design Principles for ACE C++ Wrapper Facades
    12. Appendix B. The Past, Present, and Future of ACE
    13. Glossary
    14. Bibliography
    15. Index
    16. Footnotes
      1. Chapter 3
      2. Chapter 4
      3. Chapter 5
      4. Chapter 6
      5. Chapter 7
      6. Chapter 8
      7. Chapter 10
    18.119.172.146