Тип SocketAddr
Тип SocketAddr представляет собой сетевой адрес,
который объединяет IP-адрес и номер порта.
Он используется для указания конечной точки соединения
в сетевых операциях. Тип является перечислением
с двумя вариантами: SocketAddr::V4 для адресов
IPv4 и SocketAddr::V6 для адресов IPv6.
Параметром конструктора выступает IP-адрес и номер порта,
которые нужно объединить в один сетевой адрес.
Синтаксис
SocketAddr::V4(SocketAddrV4)
SocketAddr::V6(SocketAddrV6)
Пример
Давайте создадим адрес сокета IPv4 с IP-адресом
127.0.0.1 и портом 8080:
use std::net::{SocketAddr, Ipv4Addr};
fn main()
{
let addr = SocketAddr::new(Ipv4Addr::new(127, 0, 0, 1).into(), 8080);
println!("{}", addr);
}
Результат выполнения кода:
127.0.0.1:8080
Пример
Давайте создадим адрес сокета IPv6 с IP-адресом
::1 и портом 9090:
use std::net::{SocketAddr, Ipv6Addr};
fn main()
{
let addr = SocketAddr::new(Ipv6Addr::LOCALHOST.into(), 9090);
println!("{}", addr);
}
Результат выполнения кода:
[::1]:9090
Пример
Давайте разберём адрес сокета на IP-адрес и порт:
use std::net::{SocketAddr, Ipv4Addr};
fn main()
{
let addr = SocketAddr::new(Ipv4Addr::new(192, 168, 1, 1).into(), 3000);
println!("ip: {}", addr.ip());
println!("port: {}", addr.port());
}
Результат выполнения кода:
ip: 192.168.1.1
port: 3000
Смотрите также
-
тип
SocketAddrV4,
который представляет адрес сокета IPv4 -
тип
SocketAddrV6,
который представляет адрес сокета IPv6 -
тип
IpAddr,
который представляет IP-адрес без порта -
тип
ToSocketAddrs,
который преобразует значения в адреса сокетов