в Java, как добиться сканирования порта UDP?

новинка здесь, я работаю над программой для сканирования портов, TCP работает хорошо, но я не знаю, как добиться сканирования портов UDP. Скажем, я хочу знать, открыт ли UDP-порт XXXX на другом хосте в этой локальной сети. будет ли этот код работать? если нет, в чем проблема?

protected String scanUDP(InetAddress IP, int port)
{
    try{
        byte [] bytes = new byte[128];
        DatagramSocket ds = new DatagramSocket();
        DatagramPacket dp = new DatagramPacket(bytes, bytes.length, IP, port);
        ds.setSoTimeout(1000);
        ds.send(dp);
        dp = new DatagramPacket(bytes, bytes.length);
        ds.receive(dp);
        ds.close();
    }
    catch(InterruptedIOException e){
        return "CLOSED";
    }
    catch(IOException e){
        return "CLOSED";
    }
    return "OPEN";
}

просто новичок, все еще учится. но я не знаю, как добиться сканирования портов UDP. Скажем, я хочу знать, открыт ли UDP-порт XXXX на другом хосте в этой локальной сети. будет ...

новинка здесь, я работаю над программой для сканирования портов, TCP работает хорошо, но я не знаю, как добиться сканирования портов UDP. Скажем, я хочу знать, открыт ли UDP-порт XXXX на другом хосте в этой локальной сети. будет ли этот код работать? если нет, то в чем проблема?

protected String scanUDP(InetAddress IP, int port)
{
    try{
        byte [] bytes = new byte[128];
        DatagramSocket ds = new DatagramSocket();
        DatagramPacket dp = new DatagramPacket(bytes, bytes.length, IP, port);
        ds.setSoTimeout(1000);
        ds.send(dp);
        dp = new DatagramPacket(bytes, bytes.length);
        ds.receive(dp);
        ds.close();
    }
    catch(InterruptedIOException e){
        return "CLOSED";
    }
    catch(IOException e){
        return "CLOSED";
    }
    return "OPEN";
}

просто новичок, все еще учится. но я не знаю, как добиться сканирования портов UDP. Скажем, я хочу знать, открыт ли UDP-порт XXXX на другом хосте в этой локальной сети. будет ...

новинка здесь, я работаю над программой для сканирования портов, TCP работает хорошо, но я не знаю, как добиться сканирования портов UDP. Скажем, я хочу знать, открыт ли UDP-порт XXXX на другом хосте в этой локальной сети. будет ли этот код работать? если нет, то в чем проблема?

protected String scanUDP(InetAddress IP, int port)
{
    try{
        byte [] bytes = new byte[128];
        DatagramSocket ds = new DatagramSocket();
        DatagramPacket dp = new DatagramPacket(bytes, bytes.length, IP, port);
        ds.setSoTimeout(1000);
        ds.send(dp);
        dp = new DatagramPacket(bytes, bytes.length);
        ds.receive(dp);
        ds.close();
    }
    catch(InterruptedIOException e){
        return "CLOSED";
    }
    catch(IOException e){
        return "CLOSED";
    }
    return "OPEN";
}

просто новичок, все еще учится. спасибо!

5
задан ralphxiaoz 3 May 2011 в 10:51
поделиться