Метод connect
Метод connect класса UdpSocket
устанавливает адрес удалённого узла по умолчанию,
с которым будет работать сокет. Параметром метод
принимает адрес удалённого узла в формате
"ip:port" или любой тип, реализующий трейт
ToSocketAddrs. После успешного вызова
connect сокет можно использовать с методами
send и recv без указания адреса
получателя или отправителя. Метод возвращает
Result<()>.
Синтаксис
udp_socket.connect(addr)
Пример
Давайте создадим UDP-сокет, привяжем его к локальному адресу и подключим к удалённому адресу:
use std::net::UdpSocket;
fn main()
{
let socket = UdpSocket::bind("127.0.0.1:0").unwrap();
let res = socket.connect("127.0.0.1:8080");
match res
{
Ok(_) => println!("Connected"),
Err(e) => println!("Error: {}", e),
}
}
Результат выполнения кода:
"Connected"
Пример
После вызова connect можно отправлять данные
через метод send без указания адреса:
use std::net::UdpSocket;
fn main()
{
let socket = UdpSocket::bind("127.0.0.1:0").unwrap();
socket.connect("127.0.0.1:8080").unwrap();
let res = socket.send(b"hello");
println!("Sent: {:?}", res);
}
Результат выполнения кода:
Sent: Ok(5)