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


Rust TcpListener.bind用法及代碼示例


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

用法

pub fn bind<A: ToSocketAddrs>(addr: A) -> Result<TcpListener>

創建一個新的TcpListener,它將綁定到指定的地址。

返回的偵聽器已準備好接受連接。

與端口號 0 綁定將請求操作係統為該偵聽器分配一個端口。分配的端口可以通過 TcpListener::local_addr 方法查詢。

地址類型可以是 ToSocketAddrs trait 的任何實現者。有關具體示例,請參閱其文檔。

如果addr 產生多個地址,則將對每個地址嘗試bind,直到一個成功並返回偵聽器。如果沒有一個地址成功創建偵聽器,則返回上次嘗試返回的錯誤(最後一個地址)。

例子

創建綁定到 127.0.0.1:80 的 TCP 偵聽器:

use std::net::TcpListener;

let listener = TcpListener::bind("127.0.0.1:80").unwrap();

創建綁定到 127.0.0.1:80 的 TCP 偵聽器。如果失敗,請創建一個綁定到 127.0.0.1:443 的 TCP 偵聽器:

use std::net::{SocketAddr, TcpListener};

let addrs = [
    SocketAddr::from(([127, 0, 0, 1], 80)),
    SocketAddr::from(([127, 0, 0, 1], 443)),
];
let listener = TcpListener::bind(&addrs[..]).unwrap();

相關用法


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