You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10 lines
258B

  1. use std::net::TcpListener;
  2. pub fn get_available_port(avoid: u16) -> Option<u16> {
  3. (1000..9000).find(|port| *port != avoid && port_is_available(*port))
  4. }
  5. pub fn port_is_available(port: u16) -> bool {
  6. TcpListener::bind(("127.0.0.1", port)).is_ok()
  7. }