Тип SocketAddrV4
Тип SocketAddrV4 представляет собой структуру,
которая хранит IPv4-адрес сокета, то есть комбинацию
IPv4-адреса и номера порта. Он используется для
обозначения конечной точки сетевого соединения по
протоколу IPv4. Тип содержит два поля: IP-адрес
(Ipv4Addr) и номер порта (u16).
Для создания значения SocketAddrV4 используется
функция new, которая принимает IP-адрес и порт.
Также можно получить адрес сокета из строкового
представления с помощью метода parse.
Синтаксис
SocketAddrV4::new(ip, port)
"ip:port".parse::<SocketAddrV4>()
Пример
Давайте создадим адрес сокета IPv4 с помощью
функции new и выведем его на экран:
use std::net::{SocketAddrV4, Ipv4Addr};
fn main()
{
let ip = Ipv4Addr::new(127, 0, 0, 1);
let addr = SocketAddrV4::new(ip, 8080);
println!("{}", addr);
}
Результат выполнения кода:
127.0.0.1:8080
Пример
Давайте получим адрес сокета IPv4 из строки
с помощью метода parse:
use std::net::SocketAddrV4;
fn main()
{
let addr: SocketAddrV4 = "192.168.0.1:3000".parse().unwrap();
println!("{}", addr);
}
Результат выполнения кода:
192.168.0.1:3000
Пример
Давайте извлечём IP-адрес и порт из значения
SocketAddrV4 с помощью методов ip
и port:
use std::net::{SocketAddrV4, Ipv4Addr};
fn main()
{
let addr = SocketAddrV4::new(Ipv4Addr::new(10, 0, 0, 5), 443);
let ip = addr.ip();
let port = addr.port();
println!("ip: {}", ip);
println!("port: {}", port);
}
Результат выполнения кода:
ip: 10.0.0.5
port: 443
Смотрите также
-
тип
SocketAddr,
который представляет адрес сокета для IPv4 или IPv6 -
тип
SocketAddrV6,
который представляет IPv6-адрес сокета -
тип
Ipv4Addr,
который представляет IPv4-адрес -
тип
IpAddr,
который представляет IP-адрес версии 4 или 6