2013-02-02 41 views
6

यह एक नौसिखिया प्रश्न है, लेकिन मैं Google पर जो उत्तर ढूंढ रहा हूं उसे पाने में असमर्थ हूं।अनसुलझा सॉकेट पता

मैं java.net पैकेज में InetSocketAddress कक्षा पढ़ रहा था और मैं createUnresolved(String host, int port) नामक इस विधि में आया था। यह विधि अनसुलझा सॉकेट बनाता है।

मूल रूप से अनसुलझे द्वारा हमारा क्या मतलब है? प्रोग्राम को संकलित करते समय मैं अक्सर इस शब्द में त्रुटियों में आया हूं लेकिन इसे पूरी तरह समझ नहीं पाया है। क्या कोई जावा में सामान्य अर्थ की व्याख्या कर सकता है, और इसका मतलब है कि विधि के संदर्भ में।

धन्यवाद।

+0

यह जावाडोक में वर्णित है, जिसे आपने गलत तरीके से भी गलत बताया है। – EJP

+1

हाँ, और मैंने यह भी लिखा कि मैं इसे पूरी तरह समझ नहीं पाया। – Rajat

उत्तर

0

मैं इस in a sun-blog पाया:

लेकिन के रूप में यह रखने का फैसला किया है, लेकिन createUnresolved() का उपयोग एक InetSocketAddress बनाने के लिए है, ताकि हम जानते हैं कि यह दृष्टांत के लिए इस्तेमाल किया गया था। यदि उपयोगकर्ता को आईपी पते में शुरू करने के लिए थप्पड़ मार दिया गया है, तो हम इसे संभाल नहीं पाएंगे। (मुझे लगता है कि यह पहले से अलग नहीं था) टोकन में उपयोगकर्ता का उपयोग (आईपी या नाम) शुरू में होगा और नाम का उपयोग करने के मामले में, टोकन कैश की कुंजी एड्र परिवर्तनों के साथ भी नहीं बदलेगी। तो प्रतिनिधिमंडल टोकन काम करना जारी रखना चाहिए।

असल में, यह आधा बेक्ड इनसेटसाकेट एड्रेस है - इसलिए यह अंतिम पुनरावृत्ति नहीं है। यह एक मध्यस्थ कदम है ..

और एपीआई से:

यह भी एक जोड़ी (होस्टनाम + पोर्ट संख्या) है, जो मामले में एक प्रयास होस्टनाम का समाधान का प्रयास किया जाएगा हो सकता है।

संकल्प में विफल रहता है तो पता अनसुलझे होना कहा जाता है, लेकिन अभी भी एक प्रॉक्सी

के माध्यम से कनेक्ट करने जैसा कुछ परिस्थितियों पर इस्तेमाल किया जा सकता तो हम होस्ट नाम नहीं मिला, या उपयोगकर्ता के अनुकूल " www.abc.com "विधि।

लेकिन अगर हम प्रॉक्सी से कनेक्ट कर रहे हैं तो यह ठीक है क्योंकि प्रॉक्सी सर्वर मेजबाननाम को संभालता है।

0

मैं एक ही अपवाद था: java.net.UnknownHostException: होस्ट समाधान नहीं हुआ है: https://www.google.com

समस्या थी क्योंकि मैं प्रोटोकॉल https कहा: //, समस्या के बाद मैं https हटाया हल हो गई है: //

try { 
    Socket socket = new Socket(); 
    socket.connect(new InetSocketAddress("www.google.com", 443), 100); 
    socket.close(); 
    return true; 
} catch (IOException e) { 
    e.printStackTrace(); 
    return false; 
}