use std::net::TcpListener; pub fn get_available_port() -> Option { (1000..9000) .find(|port| port_is_available(*port)) } fn port_is_available(port: u16) -> bool { match TcpListener::bind(("127.0.0.1", port)) { Ok(_) => true, Err(_) => false, } }