जावा एप्लेट रिपोर्ट सॉकेटएक्सप्शन या कनेक्टएक्सप्शन लेकिन कनेक्शन ठीक है - जावा, नेटवर्किंग, एप्लेट, कनेक्टिविटी

मैं जावा एप्लेट प्रोग्रामिंग के लिए कुछ नया हूँ औरकिसी और के एप्लेट को बनाए रख रहा हूं। हस्ताक्षरित एप्लेट कुछ आवाज रिकॉर्ड करता है और फिर फ़ाइल अपलोड करता है। अपलोड में, हमें कभी-कभी इन अपवादों में से एक मिलता है (सॉकेट अपवाद, कनेक्ट अपवाद, यहां तक ​​कि अज्ञातहोस्ट अपवाद)। हम उन्हें फंसते हैं, और फिर उन्हें रिपोर्ट करते हैं एप्लेट से जावास्क्रिप्ट कॉल। जावास्क्रिप्ट कॉल ठीक चलता है, जो मुझे इंगित करता है कि कनेक्शन ठीक है। यह कैसे हो सकता है कि एप्लेट एक सॉकेट खोल नहीं सकता है या कनेक्ट नहीं कर सकता है लेकिन ब्राउजर कनेक्ट करने में कोई समस्या नहीं है ?

स्पष्टीकरण: मेरा मतलब है "कनेक्शन ठीक है" यह है कि नेटवर्क और सर्वर दोनों ठीक हैं, इसलिए मुझे यकीन नहीं है कि एप्लेट कनेक्शन स्थापित क्यों नहीं कर सकता है।

एप्लेट पर हस्ताक्षर किए गए हैं और नेटवर्क का उपयोग है। यह कभी-कभी होता है।

धन्यवाद

उत्तर:

जवाब के लिए 0 № 1

जावास्क्रिप्ट ब्राउज़र में चलता है और यह सर्वर के साथ संलग्न होने पर अपने कनेक्शन का उपयोग करता है। तो यह अप्रासंगिक है। अगर एप्लेट को कनेक्टएक्सप्शन मिला तो कोई कनेक्शन नहीं है ठीक होने के लिए, और यदि आप मिलता है कोई SOTTimeoutException के अलावा IOException कनेक्शन बंद हो गया है और नहीं ठीक है, इसके बारे में दो तरीके नहीं हैं, और सॉकेट को बंद करने और फिर से शुरू करने के अलावा आप कुछ नहीं कर सकते हैं।


जवाब के लिए 0 № 2

अधिक जानकारी के बिना क्या कहना मुश्किल हैविशिष्ट समस्या यहां है। यदि वह वास्तव में बहुत ही कभी होता है और अगली कॉल (जावास्क्रिप्ट से) में यह ठीक काम करता है, तो यह कनेक्शन स्थापित करने के लिए इसे दो बार करने में मदद कर सकता है।

Socket con;
try {
con.connect(...);
} catch (IOException ignoreFirstFailure) {
try {
con.connect(...);
} catch (IOExcetpion secondFailure) {
handleExceptionWithJavaScript(secondFailure);
}
}

इसलिए, अधिक जानकारी के लिए यह वास्तव में सहायक होगा यदि आप यह बताएंगे कि आप किस प्रकार के कनेक्शन का उपयोग कर रहे हैं और कैसे।


संबंधित सवाल
सबसे लोकप्रिय