से सही स्थानीय आईपी पता प्राप्त करें मैं अपने जावा एप्लेट से स्थानीय आईपी पता निर्धारित करना चाहता हूं। समस्या तब होती है जब एक ही मशीन पर कई आईपी एड्रेस होते हैं, जिनमें लैन और इंटरनेट कनेक्शन (हथेली, वीएमवेयर ...) हैं।जावा एप्लेट
public static void main(String[] args) {
try {
String hostName = InetAddress.getLocalHost().getHostName();
System.out.println("HostName = " + hostName);
System.out.println("HostAddressLocal = " +
InetAddress.getLocalHost().getHostAddress());
InetAddress[] inetAddresses = InetAddress.getAllByName(hostName);
for (InetAddress inetAddress : inetAddresses) {
System.out.println("hostAddress = " + inetAddress.getHostAddress());
}
} catch (Exception e) {
e.printStackTrace();
}
}
परिणाम है::
यहाँ मेरी परीक्षा है
HostName = xxxx
HostAddressLocal = xx.xx.xx.xx
hostAddress = 10.10.11.51
hostAddress = 192.168.23.1
hostAddress = 192.168.106.1
जहां xx.xx.xx.xx सही पता नहीं है। सही 10.10.11.51 है। jarnbjo के जवाब में
संपादित करें:
आपका क्रिस्टल बॉल सच कहते हैं। तुम मेरी समस्या समझ गए हो ग्राहक प्रॉक्सी से कनेक्ट हो सकता है, इसलिए मैं आपके पहले बिंदु का उपयोग नहीं कर सकता। अगर मैं अपने कंप्यूटर पर नीचे इस कोड को निष्पादित करें:
Internet IP = /127.0.0.1
और न 10.10.11.51
क्या आपका मतलब एप्लेट है? मुख्य यूपी पते तक पहुंचने में सक्षम और सक्षम होने के साथ? –
हमें भी यही समस्या थी। – KLE
आप वास्तव में क्या करने की कोशिश कर रहे हैं? आपको इस जानकारी की आवश्यकता क्यों है? क्या होगा यदि उपयोगकर्ता के पास स्थानीय पता नहीं है? क्या होगा यदि उपयोगकर्ता के पास कई इंटरफेस हैं, और कई स्थानीय पते हैं? क्या होगा यदि उपयोगकर्ता के पास आईपीवी 6 है (जो प्रत्येक इंटरफ़ेस में संभावित रूप से कई पते हो सकते हैं)? आपके कार्यक्रम पर कुछ डिज़ाइन समस्या है, इसे इस विशेषता पर सही ढंग से काम करने के लिए भरोसा नहीं करना चाहिए। – Juliano