本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。