The SDK provides various options for subscribing to a project.
The steps involved in subscribing to data using the SDK are:
- Create a NetEspSubscriber from a previously connected NetEspProject instance.
 
- Subscribe to one or more streams. Call int32_t
                    NetEspSubscriber::subscribe_stream (NetEspStream^ stream, NetEspError^ error
                    ) for each stream you are connecting to.
 
- In direct access mode, retrieve events using
                    NetEspSubscriber.get_next_event(). In callback and select
                access modes, the event is generated by the SDK and passed back to user code. 
 
- For data events, retrieve NetEspMessageReader. This encapsulates a single message
                from the ESP project. It may consist
                of a single data row or a block with multiple data rows. 
 
- Retrieve one or more NetEspRowReader. Use the methods in NetEspRowReader to read in individual fields.