Our client's flagship software product performs real-time equipment monitoring and analysis for their vertical market. It's single-threaded, but new types of equipment demand more than it can handle.
We developed a set of multi-threaded real-time monitoring components to communicated with and manage these new types of equipment.
We wrote our components in C++, making extensive use of the Standard Template Library (STL).
Most components used TCP/IP and UDP sockets, implementing the manufacturers' specs but with added diagnostics for our field engineers.
Others components interfaced directly with manufacturers' libraries.
Each component handles moderately high communication traffic loads for months (or more) of uninterrupted operation, across dozens of installations.