#port #check #networking #local #free #ipv4 #remote

dev port_check

获取一个免费的本地端口或检查某个端口是否可达

8个版本

0.2.1 2024年4月1日
0.2.0 2024年3月22日
0.1.5 2020年1月16日
0.1.3 2019年12月28日
0.1.0 2019年3月21日

#297 in 网络编程

Download history 5799/week @ 2024-04-14 3761/week @ 2024-04-21 3811/week @ 2024-04-28 4177/week @ 2024-05-05 5108/week @ 2024-05-12 5220/week @ 2024-05-19 3643/week @ 2024-05-26 3498/week @ 2024-06-02 3941/week @ 2024-06-09 3288/week @ 2024-06-16 3413/week @ 2024-06-23 3462/week @ 2024-06-30 3766/week @ 2024-07-07 4674/week @ 2024-07-14 4329/week @ 2024-07-21 3845/week @ 2024-07-28

16,798 每月下载量
8 crates 中使用

MIT 许可证

21KB
390

port_check

crates.io Build Status codecov

一个简单的Rust库,用于获取一个免费的本地端口或检查某个端口是否可达

示例

use port_check::*;
use std::time::Duration;

// --------------------------------------------------------------------
// If not specified, all port checks are performed for IPv4 addresses.
// --------------------------------------------------------------------

// get a free local port
let free_port = free_local_port().unwrap();

// get a free local port between 10000 and 15000
let free_port_in_range = free_local_port_in_range(10000..=15000);

// check whether a remote port is reachable
let is_reachable = is_port_reachable("192.0.2.0:8080");
// or
let is_reachable = is_port_reachable_with_timeout("192.0.2.0:8080", Duration::from_millis(10_000));



// --------------------------------------------------------------------
// IPv6 checks are supported too
// --------------------------------------------------------------------

let free_ipv6_port = free_local_ipv6_port().unwrap();

let is_ipv6_port_free = is_local_port_free(Port::ipv6(free_ipv6_port));
// or
let is_ipv6_port_free = is_local_ipv6_port_free(free_ipv6_port);

无运行时依赖