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

Метод local_addr

Метод local_addr возвращает локальный адрес сокета, то есть адрес, с которого отправляются данные и на который они принимаются со стороны текущего TCP-соединения. Метод не принимает параметров и возвращает значение типа io::Result<SocketAddr>. Если адрес удалось получить, результатом будет Ok с объектом SocketAddr, содержащим IP-адрес и порт. В противном случае возвращается ошибка.

Синтаксис

tcp_stream.local_addr()

Пример

Давайте установим TCP-соединение с сервером "example.com:80" и узнаем локальный адрес, с которого было установлено соединение:

use std::net::TcpStream; fn main() { let stream = TcpStream::connect("example.com:80").unwrap(); let res = stream.local_addr().unwrap(); println!("{}", res); }

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

192.168.1.10:54321

Пример

Давайте обработаем возможную ошибку при получении локального адреса с помощью конструкции match:

use std::net::TcpStream; fn main() { let stream = TcpStream::connect("example.com:80").unwrap(); match stream.local_addr() { Ok(addr) => println!("local address: {}", addr), Err(e) => println!("error: {}", e), } }

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

local address: 192.168.1.10:54321

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

  • метод peer_addr,
    который возвращает адрес удалённого узла соединения
  • метод connect,
    который устанавливает TCP-соединение с удалённым узлом
  • метод connect_timeout,
    который устанавливает соединение с ограничением по времени
  • метод shutdown,
    который закрывает одну или обе половины соединения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить