#dns-lookup #dns #dns-resolver #async #non-blocking #name #async-io

async-dns

一个简单的异步DNS解析器

3个不稳定版本

0.1.1 2024年6月12日
0.1.0 2022年9月21日
0.0.0 2019年6月27日

1747网络编程

42 每月下载量
also_sync 中使用

MIT/Apache

91KB
2K SLoC

async-dns

此包提供异步DNS查找。

在异步Rust代码中,需要使用DNS解析URL名称。在大多数情况下,这是通过在阻塞线程池上调用 getaddrinfo 来实现的。然而,由于DNS是基于UDP协议的,当有完全异步的选项时,在线程上阻塞就没有太多意义。

此包提供了一个完全异步的替代方案,基于以下机制

  • 在Windows上,它使用 DnsQueryEx 函数,它允许进行非阻塞DNS查询。
  • 在Unix上,它使用由 dns-protocol 包提供的自定义DNS实现。 async-fs 用于读取文件,而 async-io 用于实际的UDP数据包。

它返回与给定名称相关联的地址列表。

许可

双许可协议,MIT和Apache 2.0许可证。

依赖项

~3–13MB
~154K SLoC