2个版本
使用旧的Rust 2015
0.0.2 | 2019年11月17日 |
---|---|
0.0.1 | 2017年8月29日 |
在#sonos 中排名第5
9KB
91 行
Sonos发现
使用ssdp(UPnP发现)发现Sonos设备的Rust库
免责声明
目前仅适用于Unix系统。
Windows支持计划在后续版本中实现。
原因
socket
仅在Linux上工作。
使用方法
仅限Unix系统
Cargo.toml
sonos_discovery = "0.0.1"
Rust
extern crate sonos_discovery;
use sonos_discovery::Discover;
use std::net::IpAddr;
fn main() {
let discovery: Discover = Discover::new().unwrap();
// fn start(self, timeout: Option<u32>, device_count: Option<usize>)
// timeout default: 5 | device_count: u32::MAX
// Checks that {discovered_devices} < {device_count} && {elapsed_time} < {timeout}
// Waits until 3 devices are found, or 5seconds have elapsed
let sonos_ips: HashSet<IpAddr> = discovery.start(None, Some(3)).unwrap();
for sonos_ip in sonos_ips {
println!("{}", sonos_ip);
}
}
待办事项
添加跨平台支持(Windows)
- 将
socket
与一个跨平台库交换 - 使用Windows-api实现socket并创建一个简单的跨平台库
依赖项
~520KB
~11K SLoC