मेरे पास DataInputStream
है जो मैंने Socket
से प्राप्त किया है। क्या कोई तरीका है कि मैं dis.read(...)
के लिए टाइमआउट सेट कर सकता हूं? वर्तमान में मैंने पढ़ने के लिए एक नया धागा पैदा किया। जबकि पैरेंट थ्रेड thread.join(timeout)
करता है ताकि इसे बाधित करने से पहले प्रतीक्षा कर सकें। मुझे निओ के बारे में पता है, लेकिन मुझे नहीं लगता कि मैं इस बिंदु पर इतना अधिक प्रतिक्रिया देना चाहता हूं। धन्यवाद।क्या मैं इनपुट इनपुट के पढ़ने() फ़ंक्शन के लिए टाइमआउट सेट कर सकता हूं?
7
A
उत्तर
14
आमतौर पर इनपुटस्ट्रीम पर नहीं, लेकिन आप सॉकेट पर सभी पढ़ने के संचालन के लिए टाइमआउट सेट करने के लिए Socket#setSoTimeout(int)
का उपयोग कर सकते हैं।
संबंधित मुद्दे
- 1. मैं फ़ाइल के केवल हिस्से को पढ़ने के लिए बाध्य इनपुट इनपुट कैसे बना सकता हूं?
- 2. क्या मैं पर्ल में एसटीडीआईएन पर पाइप इनपुट पढ़ने के बाद उपयोगकर्ता इनपुट के लिए संकेत दे सकता हूं?
- 3. मैं कस्टम इनपुट के साथ आग लगाने के लिए UITextFieldDelegate.ShouldChangeCharactersInRange कैसे प्राप्त कर सकता हूं?
- 4. क्या मैं एक प्रश्न के लिए जेडीबीसी टाइमआउट सेट कर सकता हूं?
- 5. क्या मैं सी # में UdpClient के लिए टाइमआउट सेट कर सकता हूं?
- 6. क्या मैं केवल कुछ इनपुट तत्वों के लिए jQuery .val() को ओवरराइड कर सकता हूं?
- 7. मैं jquery का उपयोग कर इनपुट फ़ील्ड का नाम विशेषता कैसे सेट कर सकता हूं?
- 8. मैं संख्यात्मक इनपुट दाएं और पाठ इनपुट को कैसे संरेखित कर सकता हूं?
- 9. मैं मानक इनपुट से पढ़ने के लिए कैसे sed मिलता हूं?
- 10. सेट नहीं कर सकता इनपुट जाँच = "जाँच" jQuery
- 11. मैं कोशिश कैसे कर सकता हूं .. छोड़कर या यदि ... उपयोगकर्ता इनपुट को प्रमाणित करने के लिए?
- 12. महीने इनपुट को सत्यापित करने के लिए मैं नियमित अभिव्यक्ति का उपयोग कैसे कर सकता हूं?
- 13. फास्ट इनपुट आउटपुट फ़ंक्शन
- 14. क्या मैं बीसीपी के साथ इनपुट एसक्यूएल फाइल निर्दिष्ट कर सकता हूं?
- 15. http इनपुट स्ट्रीम को पढ़ने के लिए कैसे करें
- 16. एक्सएसएस को रोकने के लिए मैं HTML इनपुट को कैसे सत्यापित कर सकता हूं?
- 17. मैं प्रत्येक सदस्य के लिए सबसे हालिया इनपुट का चयन कैसे कर सकता हूं?
- 18. क्या मेरी प्रक्रिया इनपुट के लिए प्रतीक्षा कर रही है?
- 19. मैं ListViewSubItem के लिए आइकन कैसे सेट कर सकता हूं?
- 20. संकलन समय के दौरान वैध इनपुट के लिए मैं सी फ़ंक्शन कैसे देखूं?
- 21. बुफर्ड इनपुट स्ट्रीम मार्क पढ़ने की सीमा
- 22. क्या मैं अल्फा चैनल के साथ जेपीईजी पढ़ने के लिए libjpeg का उपयोग कर सकता हूं?
- 23. मैं अपने स्कैला रैपर विधि के लिए इनपुट के रूप में कोई फ़ंक्शन कैसे ले सकता हूं?
- 24. सॉकेट के लिए सेट टाइमआउट
- 25. HTML पाठ इनपुट के लिए एक ही चौड़ाई सेट और नीचे इनपुट
- 26. उपयोगकर्ता के इनपुट के लिए समय समाप्ति
- 27. इनपुट सबसिस्टम
- 28. क्या मैं बहुभाषी होने के लिए एचटीएमएल में इनपुट प्रकार फ़ाइल में फ़ाइल संवाद कर सकता हूं?
- 29. मैं केवल विशिष्ट आईई ब्राउज़र के लिए सीएसएस कैसे सेट कर सकता हूं?
- 30. मैं मुख्य थ्रेड पर जावा में कुछ कोड के आसपास टाइमआउट कैसे सेट कर सकता हूं?
आह धन्यवाद, मुझे वह याद आया। मेरा एकमात्र अनुवर्ती प्रश्न यह है: इस बार प्रत्येक बार पढ़ने के लिए गणना की जाती है() कहा जाता है, जो कई बार हो सकता है। क्या कोई तरीका है कि मैं पूरे टाइमआउट समय को सेट कर सकता हूं जैसे कि यह समय-समय पर होगा यदि प्रत्येक पढ़ने() का योग टाइमआउट से अधिक हो? – Zombies
स्वचालित रूप से नहीं, लेकिन आप अपने वास्तविक टाइमआउट की तुलना में एक छोटा S0-timeout सेट कर सकते हैं और यदि आपने अपने कुल अनुमत रन टाइम को पार कर लिया है तो लूप में चेक करें। – jarnbjo
एक सॉकेट टाइमआउट और DataInputStream का उपयोग करने के साथ सावधान रहें (और एक बफर्रेड इनपुटस्ट्रीम)। ये अस्थायी स्मृति (जैसे getLong() में कुछ डेटा बफर या पढ़ेंगे) और फिर यदि टाइमआउट होता है (सॉकेट से अधिक डेटा पर इंतजार कर रहा है) तो आप पहले से पढ़े गए किसी भी डेटा को खो देंगे और * पुनर्प्राप्त करने का कोई तरीका नहीं है * । सॉकेटटाइमआउट एक्सेप्शन इंटरप्टेडियोएक्सप्शन को बढ़ाता है जो टाइमआउट से पहले सफलतापूर्वक स्थानांतरित बाइट्स की संख्या प्रदान करता है। कच्चे सॉकेट के साथ आप इसे पुनः प्रयास/जारी रखने के लिए उपयोग कर सकते हैं (शायद खराब संदेश को फ़्लश करने के लिए)। –