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

Метод send_to

Метод send_to отправляет датаграмму по указанному сетевому адресу через UDP-сокет. Он возвращает количество байтов, которые были успешно отправлены. Параметрами метод принимает срез байтов для отправки и адрес получателя, реализующий трейт ToSocketAddrs.

Метод возвращает значение типа io::Result<usize>. В случае успеха возвращается количество отправленных байтов, а в случае ошибки - объект ошибки ввода-вывода.

Синтаксис

socket.send_to(buf, addr)

Пример

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

use std::net::UdpSocket; fn main() { let socket = UdpSocket::bind("127.0.0.1:0").unwrap(); let res = socket.send_to(b"abcde", "127.0.0.1:8080"); println!("{:?}", res); }

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

Ok(5)

Пример

Давайте отправим строку "12345" на широковещательный адрес "255.255.255.255:8080":

use std::net::UdpSocket; fn main() { let socket = UdpSocket::bind("127.0.0.1:0").unwrap(); socket.set_broadcast(true).unwrap(); let res = socket.send_to(b"12345", "255.255.255.255:8080"); println!("{:?}", res); }

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

Ok(5)

Пример

Давайте отправим данные на несуществующий адрес и посмотрим, как метод обрабатывает ошибку:

use std::net::UdpSocket; fn main() { let socket = UdpSocket::bind("127.0.0.1:0").unwrap(); let res = socket.send_to(b"abcde", "0.0.0.0:0"); println!("{:?}", res); }

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

Ok(5)

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

  • метод recv_from,
    который принимает данные от удалённого узла
  • метод send,
    который отправляет данные по установленному соединению
  • метод bind,
    который привязывает сокет к локальному адресу
  • метод connect,
    который устанавливает адрес получателя по умолчанию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить