новинка здесь, я работаю над программой для сканирования портов, 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";
}
просто новичок, все еще учусь.
спасибо!