jakobhellermann / ssdp-client

An asynchronous Rust library for discovering, notifying and subscribing to devices and services on a network.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status GitHub last commit Crates.io

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

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.

About

An asynchronous Rust library for discovering, notifying and subscribing to devices and services on a network.

License:Apache License 2.0


Languages

Language:Rust 100.0%