इम एक सरल टीसीपी बनाने/आईपी सॉकेट एप्लिकेशनDataInputStream.read() बनाम DataInputStream.readFully()
क्या ऐसा करने के बीच अलग:
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
byte[] buffer = new byte[100];
in.read(buffer);
: ऐसा करने बनाम
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
byte[] buffer = new byte[100];
in.readFully(buffer);
मैंने प्रलेखन पर एक नज़र डाली थी, उनके पास एक ही सटीक वर्णन है। readFully()
और read()
तो क्या मैं इसे वही मान सकता हूं?
आप ईओएफ को कैसे संभालना चाहते हैं (जिसका मतलब है कि सॉकेट पर पढ़ने के लिए कोई और बाइट नहीं है)? दोनों की परिभाषाओं को फिर से देखें और न केवल विवरण। एक मूल्य देता है और एक अपवाद फेंकता है। – scrappedcola
@scrappedcola ओह ठीक है, अब मैं देखता हूं। तो मूल रूप से, 'readFully() 'लौटाता है जब बफर पूर्ण होता है, भले ही वहां और बाइट पढ़ने के लिए शेष हों। और जब सभी बाइट्स पढ़े जाते हैं तो पढ़ें() 'रिटर्न। सही बात? – Krimson
नहीं 'पढ़ा() 'रिटर्न जब कम से कम एक बाइट पढ़ा गया है; 'बफर भर गया है जब' पढ़ें पूरी तरह से() '। – EJP