मेरे पास कंप्यूटर नामों की एक सूची है और मुझे संबंधित आईपी पते की एक सूची बनानी है। जो इस तरह से किया जाता है:

        Iterator<String> iter = listWithComputerNames.iterator();
        while (iter.hasNext()) {
            String curName = iter.next();
            String ipAdress = "";
            try {
                InetAddress address = InetAddress.getByName(curName );
                ipAdress = address.getHostAddress();
            }
        }

यह काम करता है अगर मैं प्रोग्राम को अन्य सभी कंप्यूटरों के समान डोमेन में चलाता हूं। हालांकि, मैं इसे सर्वर पर बैच जॉब के रूप में चलाना चाहता हूं, जो एक अलग डोमेन में है (लेकिन फिर भी वही स्थानीय नेटवर्क!)

चूंकि दोनों डोमेन एक कंपनी के भीतर हैं और कंप्यूटर आईपी का उपयोग करके एक दूसरे के साथ संवाद कर सकते हैं, मुझे आश्चर्य है कि क्या स्पष्ट रूप से यह बताने की संभावना है कि मेरे कंप्यूटर का नाम एक अलग डोमेन से है: नाम.डोमेन.लोकल जैसा कुछ, जैसे कि यह हो सकता है एक अलग डोमेन से भी एक आईपी के लिए हल किया गया। क्या किसी को तरकीब पता है?

0
Volokh 22 नवम्बर 2019, 15:49
1
आपको अपने कंप्यूटर के नामों की सूची कहाँ से प्राप्त होती है? ये नाम कैसा दिखते हैं? क्या वे डोमेन नाम के साथ पूरी तरह से योग्य नाम हैं? यदि नहीं, तो क्या वे सभी एक ही डोमेन नाम में मौजूद हैं, ताकि आप केवल प्रत्येक कंप्यूटर नाम में डोमेन नाम जोड़ सकें?
 – 
Erwin Bolwidt
22 नवम्बर 2019, 15:54
आप इसे वैसे ही कर सकते हैं जैसे आप listWithComputerNames को पॉप्युलेट करते हैं, इसके बजाय, आप listWithComputerIps को पॉप्युलेट करते हैं।
 – 
Karim
22 नवम्बर 2019, 15:57
मेरे सहकर्मी मुझे अपने कंप्यूटर के नाम प्रदान करते हैं। हमने कंप्यूटर नाम और पूरी तरह से योग्य नाम दोनों की कोशिश की है, लेकिन सर्वर उन्हें हल नहीं कर सकता है। @ करीम मैं आईपी नहीं जानता, क्योंकि वे समय के साथ बदलते हैं, कंप्यूटर के नाम नहीं होते हैं।
 – 
Volokh
22 नवम्बर 2019, 16:00
मैं मजाक कर रहा था, अगर सर्वर किसी डोमेन नाम तक नहीं पहुंच सकता है तो यह एक संभावित समाधान है
 – 
Karim
22 नवम्बर 2019, 16:04

1 उत्तर

InetAddress giriAddress = java.net.InetAddress.getByName("com.named.domain");

फिर, यदि आप आईपी को स्ट्रिंग के रूप में चाहते हैं

String address = giriAddress.getHostAddress();

आप इसे अपने स्थानीय एनवी में किसी प्रकार के डेटाबेस को अपडेट करने के लिए उपयोग कर सकते हैं जिसे सर्वर तब एक्सेस कर सकता है यदि वह आईपी पता चाहता है, या इससे भी बेहतर इसे वेब सेवा के रूप में उजागर कर सकता है

0
Karim 22 नवम्बर 2019, 16:04