यदि कोई व्यक्ति निम्न व्यवहार जावा सॉकेट में व्याख्या कर सकते हैं:व्यवहार जब उत्पादन धारा को बंद करने
सामान्य विचार यह है:
- ओपन सॉकेट, प्राप्त आई/ओ धाराओं।
- लिखें अनुरोध, धारा
- पढ़ें प्रतिक्रिया, धारा
- बंद सॉकेट में बंद बाहर बंद कर दें।
मेरा प्रश्न/मुद्दा यहां है।
यदि मैं आउटपुट के लिए PrintWriter
का उपयोग करता हूं, और फिर इसे बंद करता हूं, तो यह पूरे सॉकेट को बंद कर देता है, और बाद में पढ़ने का ऑपरेशन खराब तरीके से विफल हो जाता है।
इसके बजाय यदि मैं सीधे सॉकेट की shutdownOutput()
विधि का उपयोग करता हूं, तो यह सॉकेट को जीवित रखते हुए आउटपुट स्ट्रीम चैनल को सही ढंग से बंद कर देता है।
PrintWriter
ऑब्जेक्ट को बंद करने से पूरे सॉकेट को नीचे क्यों ले जाएगा?
आपको बंद होने से पहले इसे फ़्लश करने की आवश्यकता हो सकती है। –
क्या आपने यह देखने के लिए कि क्या समस्या नहीं होती है, अपने प्रिंटराइटर को बंद करने से पहले अपने कनेक्शन पर .flush() के साथ फ्लश करने का प्रयास किया है? – vcetinick