मुझे दूरस्थ सर्वर पर खुले बंदरगाहों को खोजने की आवश्यकता है। मैं सोच रहा हूं कि यह संभव है या नहीं। मैं सोच रहा था कि मैं एक सॉकेट खोलूंगा, और यदि यह सफल होता है, तो इसका मतलब है कि इसका उपयोग किया जाता है ... अन्यथा, अगर मुझे अपवाद मिलता है, तो इसका उपयोग नहीं किया जाता है।परीक्षण अगर रिमोट पोर्ट उपयोग में है
उदाहरण के लिए,
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;
}
इस एक व्यवहार्य तरीका है?
संभव डुप्लिकेट [सॉकेट: बंदरगाह उपलब्धता डिस्कवर जावा का उपयोग कर] (http://stackoverflow.com/questions/434718/sockets-discover-port-availability-using-java) – HCarrasko
@Hector उस पर जवाब प्रश्न ज्यादातर परीक्षण के बारे में हैं कि कुछ स्थानीय रूप से बंदरगाह से बंधे हैं या नहीं। यह सवाल रिमोट सिस्टम के बारे में है। – Kenster
मुझे लगता है कि @Alain Pannetier उत्तर स्वीकार्य होना चाहिए। – Alfergon