Expand CollapseJust a second... Developing clients Use one of our APIs to create client applications that connect to your Diffusion™ Cloud service. Best practice for developing clients Follow these best practises to develop resilient and well performing clients. Feature support in the Diffusion API Review this information when designing your clients to determine which APIs provide the functionality you require. MQTT support Diffusion Cloud supports MQTT clients connecting to Diffusion Cloud to send and receive topic data, with no extra code required on the client. Client basics Get started developing Diffusion Cloud clients by downloading one of our SDKs, discovering its capabilities, and starting to stream realtime data through Diffusion Cloud. Connecting to Diffusion Cloud One of the first actions your Diffusion Cloud client takes is to connect to Diffusion Cloud. Clients connect to Diffusion Cloud by opening a session. A session represents a logical context between a client and Diffusion Cloud. All interactions with Diffusion Cloud happen within a session. Receiving data from topics A client can subscribe to a topic to receive a stream of updates or can fetch the current state of a topic. Managing topics A client can add and remove topics at Diffusion Cloud. Updating topics A client can use the TopicUpdate feature to update topics. Using time series topics A client can subscribe to a time series topic using a value stream, query to retrieve values within a range, append new values, or apply an edit event to override the value of an earlier event. Managing subscriptions A client can use the SubscriptionControl feature to subscribe other client sessions to topics that they have not requested subscription to themselves and also to unsubscribe clients from topics. It also enables the client to register as the handler for routing topic subscriptions. Using request-response messaging You can send request messages directly to a client session, a set of client sessions, or a message path. The recipient of a message can respond to the request. Authenticating new sessions A client session can use the AuthenticationControl feature to authenticate other client sessions. Updating the system authentication store A client can use the SystemAuthenticationControl feature to update the system authentication store. The information in the system authentication store is used by the system authentication handler to authenticate users and assign roles to them. Updating the security store A client can use the SecurityControl feature to update the security store. The information in the security store is used by Diffusion Cloud to define the permissions assigned to roles and the roles assigned to anonymous sessions and named sessions. Managing sessions A client session with the appropriate permissions can receive notifications and information about other client sessions. A client session with the appropriate permissions can also manage other client sessions. Configuring conflation Use the CONFLATION topic property to select a conflation policy for a topic. Logging from the client Ensuring that your Diffusion Cloud client logs messages to inform of events and errors can be a valuable tool in developing and maintaining your clients.