當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust UdpSocket.connect用法及代碼示例


本文簡要介紹rust語言中 std::net::UdpSocket.connect 的用法。

用法

pub fn connect<A: ToSocketAddrs>(&self, addr: A) -> Result<()>

將此 UDP 套接字連接到遠程地址,允許使用 sendrecv 係統調用發送數據,並應用過濾器僅從指定地址接收數據。

如果addr 產生多個地址,則將對每個地址嘗試connect,直到底層操作係統函數不返回錯誤。請注意,通常,成功的connect 調用並不指定有遠程服務器在該端口上偵聽,而是隻有在第一次發送後才會檢測到此類錯誤。如果操作係統為每個指定地址返回錯誤,則返回上次連接嘗試返回的錯誤(最後一個地址)。

例子

創建一個綁定到 127.0.0.1:3400 的 UDP 套接字並將套接字連接到 127.0.0.1:8080

use std::net::UdpSocket;

let socket = UdpSocket::bind("127.0.0.1:3400").expect("couldn't bind to address");
socket.connect("127.0.0.1:8080").expect("connect function failed");

與 TCP 情況不同,將地址數組傳遞給 UDP 套接字的 connect 函數並不是一件有用的事情:如果應用程序不發送數據,操作係統將無法確定某些內容是否正在偵聽遠程地址。

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::net::UdpSocket.connect。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。