РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1151 of 1245 menu

Метод ToSocketAddrs::to_socket_addrs

Метод to_socket_addrs принадлежит трейту ToSocketAddrs и преобразует значение, реализующее этот трейт, в итератор адресов сокета SocketAddr. Метод не принимает параметров и возвращает результат типа io::Result<Self::Iter>. Трейт ToSocketAddrs реализован для строк, кортежей вида (&str, u16), а также для SocketAddr, SocketAddrV4 и SocketAddrV6, что позволяет удобно передавать адреса в функции сетевого взаимодействия.

Синтаксис

use std::net::ToSocketAddrs; let iter = value.to_socket_addrs()?;

Пример

Давайте преобразуем строку "127.0.0.1:8080" в итератор адресов сокета и выведем первый адрес:

use std::net::ToSocketAddrs; fn main() { let res = "127.0.0.1:8080".to_socket_addrs(); match res { Ok(mut iter) => { if let Some(addr) = iter.next() { println!("{}", addr); } } Err(e) => println!("Error: {}", e), } }

Результат выполнения кода:

127.0.0.1:8080

Пример

Давайте преобразуем кортеж ("localhost", 3000) в итератор адресов сокета и выведем все полученные адреса:

use std::net::ToSocketAddrs; fn main() { let res = ("localhost", 3000).to_socket_addrs(); match res { Ok(iter) => { for addr in iter { println!("{}", addr); } } Err(e) => println!("Error: {}", e), } }

Результат выполнения кода:

127.0.0.1:3000 [::1]:3000

Пример

Давайте преобразуем строку "example.com:80" в итератор адресов сокета и выведем первый адрес:

use std::net::ToSocketAddrs; fn main() { let res = "example.com:80".to_socket_addrs(); match res { Ok(mut iter) => { if let Some(addr) = iter.next() { println!("{}", addr); } } Err(e) => println!("Error: {}", e), } }

Результат выполнения кода:

93.184.216.34:80

Смотрите также

  • трейт ToSocketAddrs,
    который предоставляет метод to_socket_addrs
  • структура SocketAddr,
    которая представляет адрес сокета
  • структура SocketAddrV4,
    которая представляет IPv4 адрес сокета
  • структура SocketAddrV6,
    которая представляет IPv6 адрес сокета
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить