Go to file
John Nunley 2b34b162b9
v2.0.0
Signed-off-by: John Nunley <dev@notgull.net>
2023-10-28 18:50:18 -07:00
.github Update actions/checkout action to v4 2023-09-10 18:19:23 +09:00
src Migrate to Rust 2021 (#27) 2023-10-08 14:59:24 +09:00
.gitignore Initial commit 2020-07-04 10:40:25 +02:00
CHANGELOG.md v2.0.0 2023-10-28 18:50:18 -07:00
Cargo.toml v2.0.0 2023-10-28 18:50:18 -07:00
LICENSE-APACHE Initial commit 2020-07-04 10:40:25 +02:00
LICENSE-MIT Initial commit 2020-07-04 10:40:25 +02:00
README.md Update license badge to match Cargo.toml 2021-02-14 13:38:42 +09:00

README.md

async-net

Build License Cargo Documentation

Async networking primitives for TCP/UDP/Unix communication.

This crate is an async version of std::net and std::os::unix::net.

Implementation

This crate uses async-io for async I/O and blocking for DNS lookups.

Examples

A simple UDP server that echoes messages back to the sender:

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?;
}

License

Licensed under either of

at your option.

Contribution

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.