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

Метод read_timeout

Метод read_timeout класса TcpStream возвращает текущее значение таймаута для операций чтения из сокета. Метод не принимает параметров и возвращает значение типа io::Result<Option<Duration>>. Если таймаут не установлен, возвращается None. Если таймаут установлен, возвращается Some(Duration) с соответствующим значением.

Синтаксис

tcp_stream.read_timeout()

Пример

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

use std::net::TcpStream; fn main() { let stream = TcpStream::connect("127.0.0.1:8080").unwrap(); let res = stream.read_timeout().unwrap(); println!("{:?}", res); }

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

None

Пример

Давайте установим таймаут чтения с помощью метода set_read_timeout, а затем проверим его значение через read_timeout:

use std::net::TcpStream; use std::time::Duration; fn main() { let stream = TcpStream::connect("127.0.0.1:8080").unwrap(); stream.set_read_timeout(Some(Duration::from_secs(5))).unwrap(); let res = stream.read_timeout().unwrap(); println!("{:?}", res); }

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

Some(5s)

Пример

Давайте сбросим таймаут чтения, установив его в None, и проверим результат:

use std::net::TcpStream; use std::time::Duration; fn main() { let stream = TcpStream::connect("127.0.0.1:8080").unwrap(); stream.set_read_timeout(Some(Duration::from_secs(10))).unwrap(); stream.set_read_timeout(None).unwrap(); let res = stream.read_timeout().unwrap(); println!("{:?}", res); }

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

None

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

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