本文简要介绍rust语言中 Struct std::net::UdpSocket
的用法。
用法
pub struct UdpSocket(_);
一个 UDP 套接字。
通过 bind
将其映射到套接字地址创建 UdpSocket
后,数据可以是 sent to 和 received from 任何其他套接字地址。
尽管 UDP 是一种无连接协议,但此实现提供了一个接口来设置应发送和接收数据的地址。使用 connect
设置远程地址后,可以使用 send
和 recv
向该地址发送和接收数据。
正如 IETF RFC 768 中的用户数据报协议规范所述,UDP 是一种无序、不可靠的协议;有关 TCP 原语,请参阅 TcpListener
和 TcpStream
。
例子
use std::net::UdpSocket;
fn main() -> std::io::Result<()> {
{
let socket = UdpSocket::bind("127.0.0.1:34254")?;
// Receives a single datagram message on the socket. If `buf` is too small to hold
// the message, it will be cut off.
let mut buf = [0; 10];
let (amt, src) = socket.recv_from(&mut buf)?;
// Redeclare `buf` as slice of the received data and send reverse data back to origin.
let buf = &mut buf[..amt];
buf.reverse();
socket.send_to(buf, &src)?;
} // the socket is closed here
Ok(())
}
相关用法
- Rust UdpSocket.set_multicast_loop_v6用法及代码示例
- Rust UdpSocket.send用法及代码示例
- Rust UdpSocket.ttl用法及代码示例
- Rust UdpSocket.set_write_timeout用法及代码示例
- Rust UdpSocket.peek用法及代码示例
- Rust UdpSocket.set_ttl用法及代码示例
- Rust UdpSocket.broadcast用法及代码示例
- Rust UdpSocket.peer_addr用法及代码示例
- Rust UdpSocket.try_clone用法及代码示例
- Rust UdpSocket.set_broadcast用法及代码示例
- Rust UdpSocket.send_to用法及代码示例
- Rust UdpSocket.recv_from用法及代码示例
- Rust UdpSocket.bind用法及代码示例
- Rust UdpSocket.recv用法及代码示例
- Rust UdpSocket.set_multicast_loop_v4用法及代码示例
- Rust UdpSocket.write_timeout用法及代码示例
- Rust UdpSocket.set_read_timeout用法及代码示例
- Rust UdpSocket.set_nonblocking用法及代码示例
- Rust UdpSocket.connect用法及代码示例
- Rust UdpSocket.multicast_loop_v6用法及代码示例
- Rust UdpSocket.read_timeout用法及代码示例
- Rust UdpSocket.multicast_loop_v4用法及代码示例
- Rust UdpSocket.peek_from用法及代码示例
- Rust UdpSocket.multicast_ttl_v4用法及代码示例
- Rust UdpSocket.set_multicast_ttl_v4用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 Struct std::net::UdpSocket。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。