JAVA获取指定范围内可用的TCP端口

By | 2015年4月16日

由于现在在做的项目需要获取tcp可用的端口,用于tomcat ajp协议的监听,然后更新nginx配置,由nginx利用ajp模块进行请求转发,所以需要获取本机上可用的tcp端口。

/**
 * 获取可用的tcp端口号
 * 
 * @return
 */
public static int getAvailableTcpPort() {
    // 指定范围10000到65535
    for (int i = 10000; i <= 65535; i++) {
        try {
            new ServerSocket(i).close();
            return i;
        } catch (IOException e) { // 抛出异常表示不可以,则进行下一个
            continue;

        }
        return -1;
    }
}

对于Java网络编程,本人不是很精通,如果有更好的方法,请指点。