|
@@ -1,7 +1,9 @@ |
|
|
use std::net::TcpListener; |
|
|
use std::net::TcpListener; |
|
|
|
|
|
|
|
|
pub fn get_available_port(avoid: u16) -> Option<u16> { |
|
|
pub fn get_available_port(avoid: u16) -> Option<u16> { |
|
|
(1000..9000).find(|port| *port != avoid && port_is_available(*port)) |
|
|
|
|
|
|
|
|
// Start after "well-known" ports (0–1023) as they require superuser |
|
|
|
|
|
// privileges on UNIX-like operating systems. |
|
|
|
|
|
(1024..9000).find(|port| *port != avoid && port_is_available(*port)) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
pub fn port_is_available(port: u16) -> bool { |
|
|
pub fn port_is_available(port: u16) -> bool { |
|
|