Nabto Edge Streams
The Nabto Edge platform supports reliable streams on top of a Nabto connection. The reliable stream API is very similar to standard TCP sockets:
A 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. This level of integration is useful if you e.g. implement your own protocol.
The Nabto Edge platform provides a higher level wrapper for streams for much simpler integration: If you have an existing TCP client and TCP server, you can inject Nabto Edge TCP Tunnels between these two for very quick and simple integration. The tunnels are implemented under the hood using the Nabto Edge Stream API.
Example Use Cases
- Firmware upload: Upload a new firmware image to an embedded device.
- File transfer: Download larger amounts of data from an embedded device, e.g. logs.
- Event streams: Retrieve events in realtime from an embedded device as they occur.
In general, the Nabto Edge Stream API is ideal for implementing custom application level protocols as it gives you full control of the data exchange through TCP socket like abstractions.
We provide SDK level support for clients and devices to integrate Nabto Edge Streams in your own solutions. Streaming is used internally as the foundation for Nabto Edge TCP Tunnelling.
A simple “echo service” example application demonstrates Nabto Edge Streams: See the simple_stream embedded example and its client counterpart.
Also see the general embedded examples section.