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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl [Display](../../std/fmt/trait.Display.html "trait std::fmt::Display") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")[src]

impl [ToSocketAddrs](../../std/net/trait.ToSocketAddrs.html "trait std:🥅:ToSocketAddrs") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")[src]

impl [FromStr](../../std/str/trait.FromStr.html "trait std::str::FromStr") for [SocketAddr](../../std/net/enum.SocketAddr.html "enum std:🥅:SocketAddr")[src]