13 releases (3 stable)
| 2.1.0 | Apr 25, 2025 |
|---|---|
| 2.0.0 | Sep 16, 2023 |
| 1.0.0 | Dec 23, 2020 |
| 0.6.2 | Nov 12, 2020 |
| 0.4.0 | Jul 31, 2019 |
#1553 in Network programming
19,091 downloads per month
Used in 23 crates
(5 directly)
21KB
405 lines
ssdp-client
An asynchronous library for discovering, notifying and subscribing to devices and services on a network.
SSDP stands for Simple Service Discovery Protocol and it is a protocol that
distributes messages across a local network for devices and services to
discover each other. SSDP can most commonly be found in devices that implement
UPnP as it is used as the discovery mechanism for that standard.
Technical Specification: http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v2.0.pdf
Example usage:
use futures::prelude::*;
use std::time::Duration;
use ssdp_client::SearchTarget;
let search_target = SearchTarget::RootDevice;
let mut responses = ssdp_client::search(&search_target, Duration::from_secs(3), 2, None).await?;
while let Some(response) = responses.next().await {
println!("{:?}", response?);
}
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Please use rustfmt before any pull requests.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~2.1–4.5MB
~75K SLoC