#networking #search

no-std cotton-ssdp

Implementing SSDP, the Simple Service Discovery Protocol

3 releases

0.0.3 Aug 12, 2023
0.0.2 Apr 24, 2023
0.0.1 Mar 29, 2023

#630 in Network programming

CC0 license


CI status codecov dependency status Crates.io Crates.io docs.rs License: CC0-1.0


Part of the Cotton project.

Implementing SSDP, the Simple Service Discovery Protocol

The cotton-ssdp crate encapsulates a client and server for the Simple Service Discovery Protocol (SSDP), a mechanism for discovering available resources (services) on local networks. A resource might be a streaming-media server, or a router, or a network printer, or anything else that someone might want to search for or enumerate on a network.

What is advertised, or discovered, is, for each resource, a unique identifier for that particular resource (Unique Service Name, USN), an identifier for the type of resource (Notification Type, NT), and the location of the resource in the form of a URL.

SSDP is mainly used by UPnP (Universal Plug-'n'-Play) systems, such as for media libraries and local streaming of music and video -- but the mechanism is quite generic, and could as easily be used for any type of device or resource that must be discoverable over a network, including in ad hoc settings which don't necessarily have expert network administrators close at hand.

Library documentation is on docs.rs.


~95K SLoC