से डेटा पढ़ना मैं ट्विटर स्ट्रीमिंग एपीआई को "http://stream.twitter.com/spritzer.json"
पर पहुंचने के लिए .NET WebRequest/WebResponse कक्षाओं का उपयोग करने का प्रयास कर रहा हूं।एक खुली HTTP स्ट्रीम
मुझे कनेक्शन खोलने और खुले कनेक्शन से डेटा को बढ़ाने के लिए सक्षम होने की आवश्यकता है।
वर्तमान में, जब मैं WebRequest.GetResponse
विधि को कॉल करता हूं, तब तक यह पूरी प्रतिक्रिया डाउनलोड होने तक अवरुद्ध हो जाता है। मुझे पता है कि BeginGetResponse
विधि है, लेकिन यह पृष्ठभूमि पृष्ठभूमि पर वही काम करेगा। डाउनलोड अभी भी हो रहा है, जबकि मुझे प्रतिक्रिया स्ट्रीम तक पहुंच प्राप्त करने की आवश्यकता है। यह सिर्फ इन वर्गों के साथ मेरे लिए संभव नहीं लगता है।
वहाँ ट्विटर दस्तावेज में इस बारे में एक विशिष्ट टिप्पणी है:
"कृपया ध्यान दें कि कुछ HTTP क्लाइंट लाइब्रेरी केवल प्रतिक्रिया शरीर लौटने के बाद कनेक्शन सर्वर द्वारा बंद कर दिया गया इन ग्राहकों तक पहुँचने के लिए काम नहीं करेगा। स्ट्रीमिंग एपीआई। आपको एक HTTP क्लाइंट का उपयोग करना होगा जो प्रतिक्रिया डेटा को क्रमशः वापस कर देगा। अधिकांश मजबूत HTTP क्लाइंट लाइब्रेरी इस कार्यक्षमता को प्रदान करेंगे। उदाहरण के लिए अपाचे एचटीपी क्लाइंट इस उपयोग केस को संभाल लेगा। "
वे Appache HttpClient को इंगित करते हैं, लेकिन इससे बहुत मदद नहीं होती है क्योंकि मुझे .NET का उपयोग करने की आवश्यकता है।
कोई विचार क्या WebRequest/WebResponse
के साथ यह संभव है, या मुझे निचले स्तर के नेटवर्किंग कक्षाओं के लिए जाना है? शायद अन्य पुस्तकालय हैं जो मुझे ऐसा करने की अनुमति देंगे?
Thx एलन
मैं WebRequest.BeginGetRequestStream उपयोग नहीं कर सकते, क्योंकि मैं यह आप संवर्द्धित प्रतिक्रिया स्ट्रीम को पढ़ने के लिए अनुमति देता है सर्वर को असीमित रूप से डेटा लिखने की कोशिश नहीं कर रहा हूं। इसके अलावा, आपके उदाहरण में आप GetResponse को कॉल करते हैं। यह इस बिंदु पर है कि WebRequest अवरुद्ध है जबकि यह सर्वर प्रतिक्रिया डाउनलोड करता है। लेकिन कनेक्शन कभी बंद नहीं होता क्योंकि यह डेटा की प्रभावी ढंग से अंतहीन धारा है। – user108687