std:🥅:SocketAddr - Rust (original) (raw)
Enum std::net::SocketAddr1.0.0 [−] [src]
pub enum SocketAddr { V4(SocketAddrV4), V6(SocketAddrV6), }
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 andSocketAddrV6's respective documentation for more details.
use std:🥅:{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);Run
An IPv4 socket address.
An IPv6 socket address.
impl [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
[src]
pub fn [new](#method.new)(ip: [IpAddr](../../std/net/enum.IpAddr.html "enum std:🥅:IpAddr"), port: [u16](../primitive.u16.html)) -> [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
1.7.0
Creates a new socket address from an IP address and a port number.
use std:🥅:{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);Run
pub fn [ip](#method.ip)(&self) -> [IpAddr](../../std/net/enum.IpAddr.html "enum std:🥅:IpAddr")
1.7.0
Returns the IP address associated with this socket address.
use std:🥅:{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)));Run
pub fn [set_ip](#method.set%5Fip)(&mut self, new_ip: [IpAddr](../../std/net/enum.IpAddr.html "enum std:🥅:IpAddr"))
1.9.0
Changes the IP address associated with this socket address.
use std:🥅:{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)));Run
pub fn [port](#method.port)(&self) -> [u16](../primitive.u16.html)
[src]
Returns the port number associated with this socket address.
use std:🥅:{IpAddr, Ipv4Addr, SocketAddr};
let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080); assert_eq!(socket.port(), 8080);Run
pub fn [set_port](#method.set%5Fport)(&mut self, new_port: [u16](../primitive.u16.html))
1.9.0
Changes the port number associated with this socket address.
use std:🥅:{IpAddr, Ipv4Addr, SocketAddr};
let mut socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080); socket.set_port(1025); assert_eq!(socket.port(), 1025);Run
pub fn [is_ipv4](#method.is%5Fipv4)(&self) -> [bool](../primitive.bool.html)
1.16.0
Returns true if the IP address in this SocketAddr
is anIPv4 address, and false otherwise.
use std:🥅:{IpAddr, Ipv4Addr, SocketAddr};
fn main() { 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); }Run
pub fn [is_ipv6](#method.is%5Fipv6)(&self) -> [bool](../primitive.bool.html)
1.16.0
Returns true if the IP address in this SocketAddr
is anIPv6 address, and false otherwise.
use std:🥅:{IpAddr, Ipv6Addr, SocketAddr};
fn main() { 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); }Run
impl [Copy](../../std/marker/trait.Copy.html "trait std:📑:Copy") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
[src]
impl [Clone](../../std/clone/trait.Clone.html "trait std::clone::Clone") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
[src]
impl [PartialEq](../../std/cmp/trait.PartialEq.html "trait std::cmp::PartialEq") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
[src]
impl [Eq](../../std/cmp/trait.Eq.html "trait std::cmp::Eq") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
[src]
impl [Hash](../../std/hash/trait.Hash.html "trait std::hash::Hash") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
[src]
impl [Debug](../../std/fmt/trait.Debug.html "trait std::fmt::Debug") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
[src]
impl [From](../../std/convert/trait.From.html "trait std::convert::From")<[SocketAddrV4](../../std/net/struct.SocketAddrV4.html "struct std:🥅:SocketAddrV4")> for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
1.16.0
impl [From](../../std/convert/trait.From.html "trait std::convert::From")<[SocketAddrV6](../../std/net/struct.SocketAddrV6.html "struct std:🥅:SocketAddrV6")> for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
1.16.0
impl<I: [Into](../../std/convert/trait.Into.html "trait std::convert::Into")<[IpAddr](../../std/net/enum.IpAddr.html "enum std:🥅:IpAddr")>> [From](../../std/convert/trait.From.html "trait std::convert::From")<[(](../primitive.tuple.html)I, [u16](../primitive.u16.html)[)](../primitive.tuple.html)> for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")
1.17.0