package shop.alien.util.port;

import java.util.Random;

/**
 * 选择可用端口
 *
 * @author ssk
 * @version 1.0
 * @date 2024/5/14 10:32
 */
public class ServerPortUtils {

    /**
     * 获取可用端口
     *
     * @return 可用端口号
     */
    public static int getAvailablePort(Integer portMin, Integer portMax) {
        Random random = new Random();
        int port = random.nextInt(portMax) % (portMax - portMin + 1) + portMin;
        //查询端口是否被占用
        boolean using = NetUtils.isLocalPortUsing(port);
        if (using) {
            //再次随机
            return getAvailablePort(portMin, portMax);
        } else {
            return port;
        }
    }

}
