Rollup merge of #111527 - knickish:bind_port_0_documentation, r=Mark-Simulacrum
add examples of port 0 binding behavior Was trying to find the method to specify the IP address but not the port, and there wasn't information easily accessible about it in the `TcpListener` or `SocketAddr`. Adding examples to `TcpListener` and `UdpSocket` for clarity.
This commit is contained in:
commit
f9bbd23adf
@ -756,6 +756,15 @@ impl TcpListener {
|
|||||||
/// ];
|
/// ];
|
||||||
/// let listener = TcpListener::bind(&addrs[..]).unwrap();
|
/// 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")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
pub fn bind<A: ToSocketAddrs>(addr: A) -> io::Result<TcpListener> {
|
pub fn bind<A: ToSocketAddrs>(addr: A) -> io::Result<TcpListener> {
|
||||||
super::each_addr(addr, net_imp::TcpListener::bind).map(TcpListener)
|
super::each_addr(addr, net_imp::TcpListener::bind).map(TcpListener)
|
||||||
|
@ -90,6 +90,15 @@ impl UdpSocket {
|
|||||||
/// ];
|
/// ];
|
||||||
/// let socket = UdpSocket::bind(&addrs[..]).expect("couldn't bind to address");
|
/// 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")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
pub fn bind<A: ToSocketAddrs>(addr: A) -> io::Result<UdpSocket> {
|
pub fn bind<A: ToSocketAddrs>(addr: A) -> io::Result<UdpSocket> {
|
||||||
super::each_addr(addr, net_imp::UdpSocket::bind).map(UdpSocket)
|
super::each_addr(addr, net_imp::UdpSocket::bind).map(UdpSocket)
|
||||||
|
Loading…
Reference in New Issue
Block a user