pub struct UdpSocket(/* private fields */);
net
only.Expand description
A UDP socket.
Implementations§
source§impl UdpSocket
impl UdpSocket
sourcepub fn bind<A: ToSocketAddrs>(addr: A) -> Result<UdpSocket>
pub fn bind<A: ToSocketAddrs>(addr: A) -> Result<UdpSocket>
Creates a UDP socket from the given address.
The address type can be any implementor of ToSocketAddrs
trait. See
its documentation for concrete examples.
If addr
yields multiple addresses, bind
will be attempted with
each of the addresses until one succeeds and returns the socket. If none
of the addresses succeed in creating a socket, the error returned from
the last attempt (the last address) is returned.
sourcepub fn local_addr(&self) -> Result<SocketAddr>
pub fn local_addr(&self) -> Result<SocketAddr>
Returns the socket address that this socket was created from.
sourcepub fn peer_addr(&self) -> Result<SocketAddr>
pub fn peer_addr(&self) -> Result<SocketAddr>
Returns the socket address of the remote peer this socket was connected to.
sourcepub fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
pub fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
Receives a single datagram message on the socket. On success, returns the number of bytes read and the origin.
sourcepub fn peek_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
pub fn peek_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>
Receives a single datagram message on the socket, without removing it from the queue. On success, returns the number of bytes read and the origin.
sourcepub fn send_to<A: ToSocketAddrs>(&self, buf: &[u8], addr: A) -> Result<usize>
pub fn send_to<A: ToSocketAddrs>(&self, buf: &[u8], addr: A) -> Result<usize>
Sends data on the socket to the given address. On success, returns the number of bytes written.
Address type can be any implementor of ToSocketAddrs
trait. See its
documentation for concrete examples.
It is possible for addr
to yield multiple addresses, but send_to
will only send data to the first address yielded by addr
.
sourcepub fn connect(&self, addr: SocketAddr) -> Result<()>
pub fn connect(&self, addr: SocketAddr) -> Result<()>
Connects this UDP socket to a remote address, allowing the send
and
recv
syscalls to be used to send data and also applies filters to only
receive data from the specified address.
If addr
yields multiple addresses, connect
will be attempted with
each of the addresses until the underlying OS function returns no
error. Note that usually, a successful connect
call does not specify
that there is a remote server listening on the port, rather, such an
error would only be detected after the first send. If the OS returns an
error for each of the specified addresses, the error returned from the
last connection attempt (the last address) is returned.