1 个不稳定版本
0.1.0 | 2023年1月30日 |
---|
#29 in #dns-client
24KB
664 行
itsdns
始终是DNS。
这是一个轻量级(no_std 和 no_alloc)的 DNS 客户端,您可以使用任何由 embedded-nal-async
实现的 UDP 堆栈使用。它还实现了 embedded-nal-async
的 DNS 特性。
示例
#![feature(async_fn_in_trait)]
#![allow(incomplete_features)]
use embedded_nal_async::SocketAddr;
use std::str::FromStr;
use itsdns::*;
#[tokio::main]
async fn main() {
let nameserver: SocketAddr = SocketAddr::from_str("8.8.8.8:53").unwrap();
let stack = std_embedded_nal_async::Stack::default();
let client = ItsDns::new(stack, nameserver);
let host = "example.com";
println!("Resolving {}...", host);
let ip = client
.get_host_by_name(host, embedded_nal_async::AddrType::IPv4)
.await
.unwrap();
println!("Resolved {} to {}", host, ip);
}
依赖关系
~1MB
~16K SLoC