发现德比的可用端口

时间:2012-10-26 09:08:23

标签: java sockets port derby

此问题与上一个问题Sockets: Discover port availability using Java几乎相似。但是当我检查德比监听端口时,它不能正常工作。

public static boolean isPortavailable(int port){
    ServerSocket ss = null;
    DatagramSocket ds = null;
    try{
        ss = new ServerSocket(port);
        ss.setReuseAddress(true);
        ds = new DatagramSocket(port);
        ds.setReuseAddress(true);
        return true;
    }
    catch(IOException e){
    }
    finally{
        if(ss != null){
        try{
            ss.close();
            ds.close();
        }
        catch(IOException e){
            /* should not be thrown */
        }
        }
    }
    return false;
}

这是我的主要方法

public static void main(String[] args){
    System.out.println("Derby:"+isPortAvailable(1527));
    System.out.println("Jetty:"+isPortAvailable(7080));
    System.out.println("Tomcat:"+isPortAvailable(8084));
}

我使用derby 1527,jetty 7080和tomcat 8084的端口启动了服务。当我运行这个main方法时,它给出了以下结果

Derby:true
Jetty:false
Tomcat:false

我无法找到为什么它给予德比的错误答案,任何人都可以提供帮助。感谢

0 个答案:

没有答案