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


Rust Ipv4Addr.is_global用法及代碼示例


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

用法

pub fn is_global(&self) -> bool

如果地址看起來是全局可路由的,則返回 true 。請參閱iana-ipv4-special-registry

以下返回 false

例子

#![feature(ip)]

use std::net::Ipv4Addr;

// private addresses are not global
assert_eq!(Ipv4Addr::new(10, 254, 0, 0).is_global(), false);
assert_eq!(Ipv4Addr::new(192, 168, 10, 65).is_global(), false);
assert_eq!(Ipv4Addr::new(172, 16, 10, 65).is_global(), false);

// the 0.0.0.0/8 block is not global
assert_eq!(Ipv4Addr::new(0, 1, 2, 3).is_global(), false);
// in particular, the unspecified address is not global
assert_eq!(Ipv4Addr::new(0, 0, 0, 0).is_global(), false);

// the loopback address is not global
assert_eq!(Ipv4Addr::new(127, 0, 0, 1).is_global(), false);

// link local addresses are not global
assert_eq!(Ipv4Addr::new(169, 254, 45, 1).is_global(), false);

// the broadcast address is not global
assert_eq!(Ipv4Addr::new(255, 255, 255, 255).is_global(), false);

// the address space designated for documentation is not global
assert_eq!(Ipv4Addr::new(192, 0, 2, 255).is_global(), false);
assert_eq!(Ipv4Addr::new(198, 51, 100, 65).is_global(), false);
assert_eq!(Ipv4Addr::new(203, 0, 113, 6).is_global(), false);

// shared addresses are not global
assert_eq!(Ipv4Addr::new(100, 100, 0, 0).is_global(), false);

// addresses reserved for protocol assignment are not global
assert_eq!(Ipv4Addr::new(192, 0, 0, 0).is_global(), false);
assert_eq!(Ipv4Addr::new(192, 0, 0, 255).is_global(), false);

// addresses reserved for future use are not global
assert_eq!(Ipv4Addr::new(250, 10, 20, 30).is_global(), false);

// addresses reserved for network devices benchmarking are not global
assert_eq!(Ipv4Addr::new(198, 18, 0, 0).is_global(), false);

// All the other addresses are global
assert_eq!(Ipv4Addr::new(1, 1, 1, 1).is_global(), true);
assert_eq!(Ipv4Addr::new(80, 9, 12, 3).is_global(), true);

相關用法


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