Enum std::net::SocketAddr 1.0.0[−][src]
pub enum SocketAddr { V4(SocketAddrV4), V6(SocketAddrV6), }
Expand description
Internet 套接字地址,IPv4 或 IPv6。
Internet 套接字地址包含一个 IP address,一个 16 位端口号以及一些可能与版本有关的附加信息。
有关更多详细信息,请参见 SocketAddrV4
和 SocketAddrV6
的文档。
SocketAddr
实例的大小可能会因目标操作系统而异。
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);Run
Variants
V4(SocketAddrV4)
IPv4 套接字地址。
V6(SocketAddrV6)
IPv6 套接字地址。
Implementations
从 IP address 和端口号创建一个新的套接字地址。
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);Run
如果此 SocketAddr
中的 IP address 是 IPv4
address,则返回 true
,否则返回 false
。
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);Run
如果此 SocketAddr
中的 IP address 是 IPv6
address,则返回 true
,否则返回 false
。
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);Run
Trait Implementations
将元组结构体 (Into <IpAddr
>,u16
) 转换为 SocketAddr
。
此转换为 IpAddr::V4
创建 SocketAddr::V4
,为 IpAddr::V6
创建 SocketAddr::V6
。
u16
被视为新创建的 SocketAddr
的端口。
将 SocketAddrV4
转换为 SocketAddr::V4
。
将 SocketAddrV6
转换为 SocketAddr::V6
。
type Err = AddrParseError
type Err = AddrParseError
可以从解析中返回的相关错误。
解析字符串 s
以返回此类型的值。 Read more
此方法测试 self
和 other
值是否相等,并由 ==
使用。 Read more
此方法测试 !=
。
type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
在此类型可能对应的套接字地址上返回的迭代器。 Read more
将此 object 转换为解析的 SocketAddr
的迭代器。 Read more