18 stable releases
2.0.0 | Oct 29, 2023 |
---|---|
1.8.0 | Sep 25, 2023 |
1.7.0 | Aug 17, 2022 |
1.6.1 | Jun 30, 2021 |
0.0.0 | May 4, 2019 |
#29 in Network programming
510,432 downloads per month
Used in 518 crates
(56 directly)
83KB
1K
SLoC
async-net
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
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.
Dependencies
~3–11MB
~138K SLoC