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

Метод connect

Метод connect класса TcpStream устанавливает TCP соединение с удалённым узлом по указанному адресу. Параметром метод принимает адрес удалённого узла, который может быть представлен строкой, срезом строки или любым типом, реализующим трейт ToSocketAddrs. Метод возвращает результат типа Result<TcpStream, Error>: при успешном соединении - объект TcpStream, при ошибке - значение Error.

Метод connect является ассоциированной функцией, то есть вызывается через имя класса с помощью двойного двоеточия, а не через экземпляр.

Синтаксис

TcpStream::connect(addr)

Пример

Давайте попробуем установить соединение с локальным сервером на порту 8080:

use std::net::TcpStream; fn main() { let res = TcpStream::connect("127.0.0.1:8080"); match res { Ok(stream) => { println!("Connected: {:?}", stream.peer_addr()); } Err(e) => { println!("Error: {}", e); } } }

Если сервер запущен, результат выполнения кода будет примерно таким:

Connected: Ok(127.0.0.1:8080)

Если сервер недоступен, будет выведено сообщение об ошибке:

Error: Connection refused (os error 111)

Пример

Давайте установим соединение с удалённым узлом по имени хоста и отправим ему простое сообщение:

use std::io::Write; use std::net::TcpStream; fn main() { match TcpStream::connect("example.com:80") { Ok(mut stream) => { let msg = b"GET / HTTP/1.0\r\n\r\n"; stream.write_all(msg).unwrap(); println!("Request sent"); } Err(e) => { println!("Error: {}", e); } } }

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

"Request sent"

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

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