Enum std::net::SocketAddr
1.0.0 · source · [−]pub enum SocketAddr {
V4(SocketAddrV4),
V6(SocketAddrV6),
}Expand description
An internet socket address, either IPv4 or IPv6.
Internet socket addresses consist of an IP address, a 16-bit port number, as well
as possibly some version-dependent additional information. See SocketAddrV4’s and
SocketAddrV6’s respective documentation for more details.
The size of a SocketAddr instance may vary depending on the target operating
system.
Examples
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
assert_eq!(socket.port(), 8080);
assert_eq!(socket.is_ipv4(), true);RunVariants
V4(SocketAddrV4)
An IPv4 socket address.
V6(SocketAddrV6)
An IPv6 socket address.
Implementations
impl SocketAddr
source
impl SocketAddr
sourcepub fn new(ip: IpAddr, port: u16) -> SocketAddr
1.7.0 · source
pub fn new(ip: IpAddr, port: u16) -> SocketAddr
1.7.0 · sourceCreates a new socket address from an IP address and a port number.
Examples
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!(socket.ip(), IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)));
assert_eq!(socket.port(), 8080);Runpub fn set_ip(&mut self, new_ip: IpAddr)
1.9.0 · source
pub fn set_ip(&mut self, new_ip: IpAddr)
1.9.0 · sourceChanges the IP address associated with this socket address.
Examples
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
let mut socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
socket.set_ip(IpAddr::V4(Ipv4Addr::new(10, 10, 0, 1)));
assert_eq!(socket.ip(), IpAddr::V4(Ipv4Addr::new(10, 10, 0, 1)));Runpub fn is_ipv4(&self) -> bool
1.16.0 (const: unstable) · source
pub fn is_ipv4(&self) -> bool
1.16.0 (const: unstable) · sourceReturns true if the IP address in this SocketAddr is an
IPv4 address, and false otherwise.
Examples
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
assert_eq!(socket.is_ipv4(), true);
assert_eq!(socket.is_ipv6(), false);Runpub fn is_ipv6(&self) -> bool
1.16.0 (const: unstable) · source
pub fn is_ipv6(&self) -> bool
1.16.0 (const: unstable) · sourceReturns true if the IP address in this SocketAddr is an
IPv6 address, and false otherwise.
Examples
use std::net::{IpAddr, Ipv6Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 65535, 0, 1)), 8080);
assert_eq!(socket.is_ipv4(), false);
assert_eq!(socket.is_ipv6(), true);RunTrait Implementations
impl Clone for SocketAddr
source
impl Clone for SocketAddr
sourcefn clone(&self) -> SocketAddr
source
fn clone(&self) -> SocketAddr
sourceReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
source
fn clone_from(&mut self, source: &Self)
sourcePerforms copy-assignment from source. Read more
impl Debug for SocketAddr
source
impl Debug for SocketAddr
sourceimpl Display for SocketAddr
source
impl Display for SocketAddr
sourceimpl<I: Into<IpAddr>> From<(I, u16)> for SocketAddr
1.17.0 · source
impl<I: Into<IpAddr>> From<(I, u16)> for SocketAddr
1.17.0 · sourcefn from(pieces: (I, u16)) -> SocketAddr
source
fn from(pieces: (I, u16)) -> SocketAddr
sourceConverts a tuple struct (Into<IpAddr>, u16) into a SocketAddr.
This conversion creates a SocketAddr::V4 for an IpAddr::V4
and creates a SocketAddr::V6 for an IpAddr::V6.
u16 is treated as port of the newly created SocketAddr.
impl From<SocketAddrV4> for SocketAddr
1.16.0 · source
impl From<SocketAddrV4> for SocketAddr
1.16.0 · sourcefn from(sock4: SocketAddrV4) -> SocketAddr
source
fn from(sock4: SocketAddrV4) -> SocketAddr
sourceConverts a SocketAddrV4 into a SocketAddr::V4.
impl From<SocketAddrV6> for SocketAddr
1.16.0 · source
impl From<SocketAddrV6> for SocketAddr
1.16.0 · sourcefn from(sock6: SocketAddrV6) -> SocketAddr
source
fn from(sock6: SocketAddrV6) -> SocketAddr
sourceConverts a SocketAddrV6 into a SocketAddr::V6.
impl FromStr for SocketAddr
source
impl FromStr for SocketAddr
sourcetype Err = AddrParseError
type Err = AddrParseError
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<SocketAddr, AddrParseError>
source
fn from_str(s: &str) -> Result<SocketAddr, AddrParseError>
sourceParses a string s to return a value of this type. Read more
impl Hash for SocketAddr
source
impl Hash for SocketAddr
sourceimpl Ord for SocketAddr
source
impl Ord for SocketAddr
sourceimpl PartialEq<SocketAddr> for SocketAddr
source
impl PartialEq<SocketAddr> for SocketAddr
sourcefn eq(&self, other: &SocketAddr) -> bool
source
fn eq(&self, other: &SocketAddr) -> bool
sourceThis method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &SocketAddr) -> bool
source
fn ne(&self, other: &SocketAddr) -> bool
sourceThis method tests for !=.
impl PartialOrd<SocketAddr> for SocketAddr
source
impl PartialOrd<SocketAddr> for SocketAddr
sourcefn partial_cmp(&self, other: &SocketAddr) -> Option<Ordering>
source
fn partial_cmp(&self, other: &SocketAddr) -> Option<Ordering>
sourceThis method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
source
fn lt(&self, other: &Rhs) -> bool
sourceThis method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool
source
fn le(&self, other: &Rhs) -> bool
sourceThis method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl ToSocketAddrs for SocketAddr
source
impl ToSocketAddrs for SocketAddr
sourcetype Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond to. Read more
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
source
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
sourceConverts this object to an iterator of resolved SocketAddrs. Read more
impl Copy for SocketAddr
sourceimpl Eq for SocketAddr
sourceimpl StructuralEq for SocketAddr
sourceimpl StructuralPartialEq for SocketAddr
sourceAuto Trait Implementations
impl RefUnwindSafe for SocketAddr
impl Send for SocketAddr
impl Sync for SocketAddr
impl Unpin for SocketAddr
impl UnwindSafe for SocketAddr
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
source
impl<T> BorrowMut<T> for T where
T: ?Sized,
sourcefn borrow_mut(&mut self) -> &mut T
const: unstable · source
fn borrow_mut(&mut self) -> &mut T
const: unstable · sourceMutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
source
impl<T> ToOwned for T where
T: Clone,
sourcetype Owned = T
type Owned = T
The resulting type after obtaining ownership.
fn clone_into(&self, target: &mut T)
source
fn clone_into(&self, target: &mut T)
sourceUses borrowed data to replace owned data, usually by cloning. Read more