मैं http:request(get, {Url, []}, [], [{sync, false}, {stream, self}])
का उपयोग कर http क्लाइंट erlang द्वारा कुछ सर्वर के लिए एसिंक्रोनस अनुरोध करता हूं, जहां Url
सर्वर का यूआरएल है। सब ठीक है और पर कॉल करने वाले प्रक्रिया के gen_server में handle_info
द्वारा डेटा प्राप्त होता है। लेकिन कनेक्ट होने पर मुझे संदेश प्राप्त होना चाहिए और stream_end
संदेश नहीं मिला है। टाइमआउट का उपयोग करना मेरे लिए उपयोग योग्य नहीं है, क्योंकि सर्वर लंबे समय तक प्रतिक्रिया दे सकता है।एरलांग। असीमित HTTP अनुरोध। कनेक्शन कब टूटा हुआ है, तो कैसे पता चलेगा?
handle_info
में टूटी हुई कनेक्ट के बारे में संदेश प्राप्त करना संभव है? यदि नहीं है, तो कृपया कनेक्ट करने का तरीका बताएं कि कनेक्ट कब टूटा हुआ है?
उत्तर के लिए धन्यवाद। मैंने पहले ibrowse का उपयोग करने की कोशिश की है। लेकिन, ऐसा लगता है, कुछ गलत हो जाता है। मैं ट्विटर स्ट्रीमिंग एपीआई के लिए क्लाइंट लिख रहा हूं और जब मैं इब्रोसे का उपयोग करता हूं तो मुझे कुछ भी नहीं मिलता है, उदाहरण के लिए - http://pastebin.com/fJNELWJE। जब मैं erlang http क्लाइंट का उपयोग करता हूं, तो सभी काम करता है। अर्थात। कई संदेश मिल गए हैं। –
आपका उदाहरण रिकॉर्ड के लिए यहां काम करता है। –
जब मैं ट्विटर से संदेश कैसे प्राप्त कर सकता हूं? .. क्योंकि मुझे यकीन है कि वे इसे कनेक्ट करने के बाद भेजते हैं। –