12 releases (2 stable)
2.0.0 | Sep 16, 2023 |
---|---|
1.0.0 | Dec 23, 2020 |
0.6.2 | Nov 12, 2020 |
0.5.3 | Apr 26, 2020 |
0.4.0 | Jul 31, 2019 |
#1199 in Network programming
26,586 downloads per month
Used in 11 crates
(3 directly)
20KB
396 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).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.5–10MB
~92K SLoC