Uzak sunucuda açık bağlantı noktalarını keşfetmem gerekiyor. Bunun mümkün olup olmadığını merak ediyorum. Bir soket açacağımı düşünüyordum ve eğer bu başarılı olursa, bunun kullanıldığı anlamına gelir ... aksi halde bir istisna alırsam, o zaman kullanılmaz. Örneğin Uzak bağlantı noktası kullanımda olup olmadığını test edin
,public boolean isActive() {
Socket s = null;
try {
s = new Socket();
s.setReuseAddress(true);
SocketAddress sa = new InetSocketAddress(this.host, this.port);
s.connect(sa, 3000);
return true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (s != null) {
try {
s.close();
} catch (IOException e) {
}
}
}
return false;
}
yaşayabilen bir yaklaşımdır?
olası yinelenen [Yuvaları: Java kullanarak liman kullanılabilirliğini keşfedin] (http://stackoverflow.com/questions/434718/sockets-discover-port-availability-using-java) – HCarrasko
@Hector bu konuda cevaplar Soru çoğunlukla bir şeyin yerel olarak bir limana bağlı olup olmadığını sınamakla ilgilidir. Bu soru uzak bir sistem hakkında. – Kenster
Sanırım @Alain Pannetier cevap kabul edildi. – Alfergon