add examples of port 0 binding behavior

This commit is contained in:
kirk 2023-05-13 06:26:37 +00:00
parent 16d3e18281
commit e33d5169e8
2 changed files with 18 additions and 0 deletions

View File

@ -756,6 +756,15 @@ impl TcpListener {
/// ];
/// let listener = TcpListener::bind(&addrs[..]).unwrap();
/// ```
///
/// Creates a TCP listener bound to a port assigned by the operating system
/// at `127.0.0.1`.
///
/// ```no_run
/// use std::net::TcpListener;
///
/// let socket = TcpListener::bind("127.0.0.1:0").unwrap();
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
pub fn bind<A: ToSocketAddrs>(addr: A) -> io::Result<TcpListener> {
super::each_addr(addr, net_imp::TcpListener::bind).map(TcpListener)

View File

@ -90,6 +90,15 @@ impl UdpSocket {
/// ];
/// let socket = UdpSocket::bind(&addrs[..]).expect("couldn't bind to address");
/// ```
///
/// Creates a UDP socket bound to a port assigned by the operating system
/// at `127.0.0.1`.
///
/// ```no_run
/// use std::net::UdpSocket;
///
/// let socket = UdpSocket::bind("127.0.0.1:0").unwrap();
/// ```
#[stable(feature = "rust1", since = "1.0.0")]
pub fn bind<A: ToSocketAddrs>(addr: A) -> io::Result<UdpSocket> {
super::each_addr(addr, net_imp::UdpSocket::bind).map(UdpSocket)