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

Метод peer_addr

Метод peer_addr возвращает адрес удалённого узла, с которым установлено TCP-соединение. Он возвращает значение типа Result с SocketAddr внутри. Параметров метод не принимает, но требует наличия установленного соединения. Если соединение было разорвано или адрес недоступен, метод вернёт ошибку.

Синтаксис

stream.peer_addr()

Пример

Давайте создадим TCP-соединение с сервером и получим адрес удалённого узла через метод peer_addr:

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

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

93.184.216.34:80

Пример

Давайте сравним локальный и удалённый адреса одного и того же соединения:

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

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

local: 192.168.1.10:54321 peer: 93.184.216.34:80

Пример

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

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

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

peer address: 93.184.216.34:80

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

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