2009-08-05 17 views
5

नमस्कार,सॉकेट, बाइट्स उपलब्ध (ग #)

ठीक है, छोटा और प्रभावी की संख्या प्राप्त करें।

मुझे सॉकेट से पढ़ने के लिए उपलब्ध बाइट्स की संख्या प्राप्त करने की आवश्यकता है। मैंने अपने सॉकेट क्लाइंट पर नेटवर्कस्ट्रीम स्थापित किया है, लेकिन ऐसा लगता है कि पढ़ने के लिए उपलब्ध बाइट्स की संख्या कैसे प्राप्त की जा सकती है, इस समय मैं केवल एक बूलियन प्राप्त कर सकता हूं "हां मेरे पास बाइट्स" या "नहीं इस बार बाइट्स "। लेकिन यह आवश्यक है कि मुझे आवश्यक कार्य के लिए यह सब कुछ उपयोगी हो।

क्या कोई मुझे मेरे दुख से बाहर रख सकता है और मुझे अपनी आवश्यकता प्रदान कर सकता है?

अग्रिम धन्यवाद, सराहना की।

उत्तर

8

NetworkStream.Length संपत्ति के बारे में this MSDN article में विनिर्दिष्ट:

स्ट्रीम में उपलब्ध डेटा की लंबाई हो जाता है। यह संपत्ति हमेशा NotSupportedException फेंकता है।

इस तथ्य यह है कि डेटा स्ट्रीम करने के लिए तंग आ गया है के रूप में यह आता है, इस प्रकार कोई वास्तविक लंबाई होने के कारण है।

हालांकि, Socket.Available संपत्ति आपको बताती है कि पर पढ़ने के लिए कितने बाइट उपलब्ध हैं। यदि कोई नया डेटा आता है तो मूल्य किसी भी समय बदल सकता है।