18 个稳定版本

2.0.0 2023 年 10 月 29 日
1.8.0 2023 年 9 月 25 日
1.7.0 2022 年 8 月 17 日
1.6.1 2021 年 6 月 30 日
0.0.0 2019 年 5 月 4 日

#9 in 网络编程

Download history 69589/week @ 2024-04-27 76563/week @ 2024-05-04 86423/week @ 2024-05-11 78114/week @ 2024-05-18 86469/week @ 2024-05-25 81342/week @ 2024-06-01 74909/week @ 2024-06-08 81857/week @ 2024-06-15 79630/week @ 2024-06-22 74135/week @ 2024-06-29 84649/week @ 2024-07-06 94753/week @ 2024-07-13 98298/week @ 2024-07-20 92577/week @ 2024-07-27 97634/week @ 2024-08-03 92584/week @ 2024-08-10

396,665 每月下载量
用于 465 个 Crates (53 直接)

Apache-2.0 OR MIT

83KB
1K SLoC

async-net

Build License Cargo Documentation

为 TCP/UDP/Unix 通信提供的异步网络原语。

此 Crate 是 std::netstd::os::unix::net 的异步版本。

实现

此 Crate 使用 async-io 进行异步 I/O,并使用 blocking 进行 DNS 查询。

示例

一个简单的 UDP 服务器,将消息回显给发送者

use async_net::UdpSocket;

let socket = UdpSocket::bind("127.0.0.1:8080").await?;
let mut buf = vec![0u8; 1024];

loop {
    let (n, addr) = socket.recv_from(&mut buf).await?;
    socket.send_to(&buf[..n], &addr).await?;
}

许可证

根据您的选择,许可协议为以下之一

贡献

除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~3–12MB
~134K SLoC