- Use promo code PRIMEBOOKS18 to save $5.00 when you spend $20.00 or more on Books offered by Amazon.com. Enter code PRIMEBOOKS18 at checkout. Here's how (restrictions apply)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
C++ Network Programming, Volume I: Mastering Complexity with ACE and Patterns 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Special offers and product promotions
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 ToolkitConnection protocols, message exchange, and message-passing versus shared memoryImplementation methods for reusable networked application servicesConcurrency in object-oriented network programmingDesign 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.
About the Author
Dr. Douglas C. Schmidt is the original developer of ACE and The ACE ORB (TAO). He is a professor at Vanderbilt University, where he studies patterns, optimizations, middleware, and model-based tools for distributed real-time and embedded systems. He is a former editor-in-chief of C++ Report and columnist for C/C++ Users Journal.
Stephen D. Huston is an internationally recognized expert in networked application development. He has more than 25 years of software development experience, focusing on network protocol and C++ networked application development in a wide range of hardware and software environments. Steve has been working with the ACE development team for over 10 years since founding Riverace Corporation, the premier provider of ACE support, training, and consulting services.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
ACE makes all of that much easier, and delivers the promise of true reuseability; not just classes, but common behaviors (patterns). This book explains why ACE was needed, the problems it solves, and how to use it. Though it's highly technical, it's not boring or overly verbose -- the problems developing networked apps are presented, and the solution ACE uses as well. Doug and Steve did an amazing job with this ... highly recommended.
As somebody who has written native code for handling Sockets, process management, threading etc on various platforms, then over time integrated OO and patterns to make it easier to use (including across platforms), and slowly worked my way towards what I consider a definitive way of doing things, I find reading this book interesting in that it's like a tick list to which I can go "yeap, I found that too" with just the odd "ooh, actually I would do that differently in this specific situation, but for the general case yes that's how I do it too". So, for me this book is interesting now, but if I was new to ACE (I'm not) or new to the underlying platform APIs I am not so sure how interesting I would find it. It gives more of a taster of what ACE can do than providing a complete tutorial. It gives more of a justification of why ACE does things the way it does rather than provide a complete reference. So, interesting for me now, but I'm really not sure who the book is aimed at. It could be used as one step of a tutorial, giving familiarity of what ACE can do, if not enough detail to really do serious stuff. It could be used to persuade people that it's usually better to use ACE than invest time and money re-inventing the wheel... Otherwise, I just don't know...
Is ACE worth using? Most of the time, yes. If you need a book about ACE then this is probably the place to start, but online is the place to find the detailed information that you will need when using it.
I work with high performance distributed real-time embedded system factory automation equipment and network-enabled software defined radios. I remember diving into these areas of software for the first time and spending A LOT of time wrestling with the idiosyncrasies of the socket and threading APIs of not just one but a few operating systems. It wasn't until I started using the ACE classes and patterns described in this book that I was able to master these complexities and get on with solving the problem of the business domain for which the software was being written. This book does a great job of giving you not only the view of networked and concurrent applications from 30,000 feet (with the domain analysis of network application development and the resulting isolation of important design dimensions) but also the view from the battlefield trenches (with code that abstracts away the gory details of native operating system APIs) as well as the stuff in between (real life networked concurrent programming examples that bring it all together).
After reading the book, I definitely feel I have gained some invaluable experience from the authors' intense expertise with the gory details of and differences between operating system APIs. They explain these details and differences in a very clear fashion and then show how you can program more productively using the ACE classes that abstract away these platform differences, without loss of efficiency, as well as prevent you from making common nasty programming errors that could cost you hundreds of hours of debugging time. They explain, in full, the C++ techniques that ACE uses to achieve this. They explain not only how these techniques work but why they are used. I feel my expertise and judgment as a C++ network/concurrent programmer have increased greatly as a result of reading the book.
Despite the complexity of the subject matter, the authors' writing style enables you to absorb and understand the information at a very fast rate. I highly recommend this book for anybody involved with programming (you should know C++) as it captures the essence AND details of how a complex programming domain can be systematically and methodically tackled and a solution formulated and implemented effectively in real-world applications.
Most recent customer reviews
I can say that it had full-filed these expectations.
The book is written by the finest writers !Read more