Struct axstd::net::SocketAddrV4
1.0.0 · source · pub struct SocketAddrV4 { /* private fields */ }
Available on crate feature
net
only.Expand description
An IPv4 socket address.
IPv4 socket addresses consist of an IPv4
address and a 16-bit port number, as
stated in IETF RFC 793.
See SocketAddr
for a type encompassing both IPv4 and IPv6 socket addresses.
The size of a SocketAddrV4
struct may vary depending on the target operating
system. Do not assume that this type has the same memory layout as the underlying
system representation.
Examples
use std::net::{Ipv4Addr, SocketAddrV4};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
assert_eq!(socket.ip(), &Ipv4Addr::new(127, 0, 0, 1));
assert_eq!(socket.port(), 8080);
Implementations§
source§impl SocketAddrV4
impl SocketAddrV4
sourcepub fn parse_ascii(b: &[u8]) -> Result<SocketAddrV4, AddrParseError>
🔬This is a nightly-only experimental API. (addr_parse_ascii
)
pub fn parse_ascii(b: &[u8]) -> Result<SocketAddrV4, AddrParseError>
addr_parse_ascii
)Parse an IPv4 socket address from a slice of bytes.
#![feature(addr_parse_ascii)]
use std::net::{Ipv4Addr, SocketAddrV4};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
assert_eq!(SocketAddrV4::parse_ascii(b"127.0.0.1:8080"), Ok(socket));
source§impl SocketAddrV4
impl SocketAddrV4
const: 1.69.0 · sourcepub const fn new(ip: Ipv4Addr, port: u16) -> SocketAddrV4
pub const fn new(ip: Ipv4Addr, port: u16) -> SocketAddrV4
Creates a new socket address from an IPv4
address and a port number.
Examples
use std::net::{SocketAddrV4, Ipv4Addr};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
const: 1.69.0 · sourcepub const fn ip(&self) -> &Ipv4Addr
pub const fn ip(&self) -> &Ipv4Addr
Returns the IP address associated with this socket address.
Examples
use std::net::{SocketAddrV4, Ipv4Addr};
let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
assert_eq!(socket.ip(), &Ipv4Addr::new(127, 0, 0, 1));
1.9.0 · sourcepub fn set_ip(&mut self, new_ip: Ipv4Addr)
pub fn set_ip(&mut self, new_ip: Ipv4Addr)
Changes the IP address associated with this socket address.
Examples
use std::net::{SocketAddrV4, Ipv4Addr};
let mut socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
socket.set_ip(Ipv4Addr::new(192, 168, 0, 1));
assert_eq!(socket.ip(), &Ipv4Addr::new(192, 168, 0, 1));
Trait Implementations§
source§impl Clone for SocketAddrV4
impl Clone for SocketAddrV4
source§fn clone(&self) -> SocketAddrV4
fn clone(&self) -> SocketAddrV4
Returns a copy of the value. Read more
source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for SocketAddrV4
impl Debug for SocketAddrV4
source§impl Display for SocketAddrV4
impl Display for SocketAddrV4
1.16.0 · source§impl From<SocketAddrV4> for SocketAddr
impl From<SocketAddrV4> for SocketAddr
source§fn from(sock4: SocketAddrV4) -> SocketAddr
fn from(sock4: SocketAddrV4) -> SocketAddr
Converts a SocketAddrV4
into a SocketAddr::V4
.
1.5.0 · source§impl FromStr for SocketAddrV4
impl FromStr for SocketAddrV4
§type Err = AddrParseError
type Err = AddrParseError
The associated error which can be returned from parsing.
source§fn from_str(s: &str) -> Result<SocketAddrV4, AddrParseError>
fn from_str(s: &str) -> Result<SocketAddrV4, AddrParseError>
Parses a string
s
to return a value of this type. Read moresource§impl Hash for SocketAddrV4
impl Hash for SocketAddrV4
source§impl Ord for SocketAddrV4
impl Ord for SocketAddrV4
source§fn cmp(&self, other: &SocketAddrV4) -> Ordering
fn cmp(&self, other: &SocketAddrV4) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for SocketAddrV4
impl PartialEq for SocketAddrV4
source§fn eq(&self, other: &SocketAddrV4) -> bool
fn eq(&self, other: &SocketAddrV4) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for SocketAddrV4
impl PartialOrd for SocketAddrV4
source§impl ToSocketAddrs for SocketAddrV4
impl ToSocketAddrs for SocketAddrV4
§type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond
to.
source§fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, Error>
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, Error>
Converts this object to an iterator of resolved
SocketAddr
s. Read moresource§impl ToSocketAddrs for SocketAddrV4
impl ToSocketAddrs for SocketAddrV4
§type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond to.
source§fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
Converts this object to an iterator of resolved
SocketAddr
s.impl Copy for SocketAddrV4
impl Eq for SocketAddrV4
impl StructuralEq for SocketAddrV4
impl StructuralPartialEq for SocketAddrV4
Auto Trait Implementations§
impl RefUnwindSafe for SocketAddrV4
impl Send for SocketAddrV4
impl Sync for SocketAddrV4
impl Unpin for SocketAddrV4
impl UnwindSafe for SocketAddrV4
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more