Introduction
THE PLAIN C CLIENT SDK
This is lowest level Nabto Client SDK, identical for all supported platforms. All other Nabto Client SDKs build on top of this. It is distributed as precompiled binaries, available from the artifacts repository.
CLIENT CONTEXT
The Client Context API manages the context where all connections live.
CONNECTION
The connection API is used to establish a connection to a specific device. A connection object is first created with nabto_client_connection_new
and configured with the various nabto_client_connection_set_
functions, specifying how the connection should be established. Once configured, the connection can be established with nabto_client_connection_connect
.
STREAMS
The Streams API is used to make a reliable stream on top of a connection. The stream is reliable and ensures data is received ordered and complete. If either of these conditions cannot be met, the stream will be closed in such a way that it is detectable.
TCP TUNNELLING
The TCP Tunnelling API is a high level wrapper for streams, allowing applications to tunnel traffic through Nabto by integrating through a simple TCP socket, just like e.g. SSH tunnels. TCP Tunnels can hence be used to quickly add remote access capabilities to existing applications that already support TCP communication.
CoAP
The CoAP API allows exchange of CoAP messages on top of a Nabto connection between a client and device. This is conceptually similar to Nabto 4 RPC but much more robust and complete.
MDNS
The mDNS API is used for discovering Nabto Edge devices on the local network.
FUTURES
The Future API makes it possible to use the async functions in this SDK either as callback based, blocking based or polled.
LISTENERS
The Listener API supports asynchronous functions that are expected to be invoked recurringly, for instance to listen for events on an established connection.
MISC - BUFFERS, ERRORS, LOGGING, VERSIONS
Functions for handling buffers, accessing error details, configuring logging and getting the SDK version.