Monday 6 November 2017

Createreadstream बाइनरी विकल्प


Ive इस googling गया है और थोड़ी देर के लिए stackoverflow चारों ओर देख रहे हैं लेकिन havent एक समाधान मिला - इसलिए पोस्ट मैं नोड। जेएस और वेबसाकेट के साथ कुतूहल से बाहर खेल रहा हूं। मैं क्लाइंट को कुछ बाइनरी डेटा (एमपी 3) स्ट्रीम करने की कोशिश कर रहा हूं। मेरा कोड अब तक नीचे है लेकिन स्पष्ट रूप से इरादा के रूप में काम नहीं कर रहा है मुझे संदेह है कि मेरी समस्या यह है कि मैं वास्तव में सर्वर से बाइनरी डेटा नहीं भेज रहा हूं और मुझे कुछ स्पष्टीकरण प्राप्त करना होगा। यह मेरे सर्वर है डिकोड करने के लिए कॉल हमेशा त्रुटि कॉलबैक में समाप्त होता है। मैं यह मान रहा हूँ क्योंकि यह खराब डेटा प्राप्त कर रहा है तो मेरा सवाल है कि कैसे मैं सही ढंग से फ़ाइल को द्विआधारी के रूप में स्ट्रीम करूँगा मैंने एन्कोडिंग को हटाने के संयोजन के साथ इस समस्या को तय किया है: बाइनरी पैरामीटर बनाने के लिए दिए गए विकल्पों से आरडस्ट्रीम () और समाधान मेरी कुछ टिप्पणियों के अनुसार, जब मैंने createReadStream विकल्पों को अपडेट किया था, तो पहला हिस्सा खेल रहा था, लेकिन सभी अन्य विखंडन डीकोडआउडियोडेटा () से ऑनर कॉलबैक निष्पादित कर रहे थे। इसके बाद के संस्करण में दिए गए लिंक का समाधान मेरे लिए तय किया गया है। ऐसा लगता है कि डीकोडऑडियो डीटा () थोड़ी चोटीदार है कि यह कैसे प्राप्त होने वाला हिस्सा स्वरूपित होना चाहिए। ये स्पष्ट रूप से वैध विखंडू होने चाहिए। नोड। जेएस पठनीय धाराओं के साथ पाठ और बाइनरी डेटा को पढ़ना यह ट्यूटोरियल नोड। जेएस पठनीय धाराओं के उपयोग और सृजन की व्याख्या करेगा: संस्करण जानकारी लेखक: जेफ बारसेज़वेस्की प्रकाशित: 3 अगस्त 2018 टैग: नोडज, स्ट्रीम स्तर: इंटरमीडिएट पूर्वापेक्षाएँ: क्रिप्टो, इवेंट, एनपीएम मॉड्यूल स्थापित करें Node. js v0.10 (इस लेखन के रूप में नवीनतम स्थिर है v0.10.15), लेकिन धाराएं आम तौर पर अपने शुरुआती दिनों से नोड. जेएस का एक हिस्सा रही हैं Streams2 का उपयोग किया जा सकता है एनएमएम मॉड्यूल पठनीय-धारा का प्रयोग करके नोड के पुराने संस्करणों के साथ उपभोग या पठनीय धाराओं का इस्तेमाल करना एक फ़ाइल को पढ़ना और इसे stdout में गूंजने का सरल उदाहरण: एक फ़ाइल के sha1 डाइजेस्ट बनाना और परिणाम को stdout (शःसम के समान) के लिए गूंज करना: डेटा घटना डेटा के प्रत्येक भाग के लिए पठनीय स्ट्रीम पर निकाल दी जाती है, इसलिए आप प्रत्येक भाग के लिए डायजेस्ट को अपडेट करते हैं, फिर अंत में घटना को निकाल दिया जाता है जब धारा समाप्त हो जाती है, ताकि आप अंतिम परिणाम का उत्पादन कर सकें। ध्यान दें कि हर बार जब आप कॉल करते हैं.on () एक श्रोता को पंजीकृत करने के लिए यह मूल स्ट्रीम को रिटर्न करता है ताकि आप आसानी से चेन तरीकों को निकाल सकें नोड. जेएस 0.10 के साथ धाराओं का उपभोग करने का एक बेहतर तरीका है। पठनीय इंटरफ़ेस धाराओं के साथ काम करना आसान बनाता है, खासकर धाराएं जहां आप धारा बनाने और स्ट्रीम का उपयोग करने के बीच अन्य चीजें करना चाहते हैं। ये नई पठनीय धाराएं उन पुलियां खींचती हैं जहां डेटा को आपके पास धक्का जाने के बजाय डेटा के लिए अनुरोध किया जाता है। इस उदाहरण को समझने की कुंजी यह है कि नई स्ट्रीम 2 पढ़ने योग्य इंटरफ़ेस के साथ, एक पठनीय घटना उतनी ही उत्सर्जित हो जाएगी जैसे डेटा पढ़ा जा सके और आप कॉल कर सकते हैं। एक बार जब कोई और डाटा उपलब्ध न हो तो पढ़ें () रिक्त रिटर्न, लेकिन फिर से एक और पठनीय घटना फिर से निकाल दी जाती है जब डेटा फिर से उपलब्ध होता है यह फ़ाइल के अंत तक जारी रहता है जब अंत की तरह पहले से निकाल दिया जाता है एक पठनीय धारा बनाने के लिए फ़ाइल सिस्टम या स्ट्रीम से धाराओं का उपयोग करने के लिए, आप स्ट्रीम बनाने के लिए कोर एफएस और एचटीटीपी विधियों का उपयोग कर सकते हैं, लेकिन आप अपना स्वयं का स्ट्रीम कैसे बना सकते हैं और इसे डेटा से भर सकते हैं यह डाटाबेस से डाटा हो सकता है या किसी भी संख्या में स्रोत से यहां एक पठनीय धारा बनाने का एक उदाहरण है जो यादृच्छिक बाइनरी डेटा से उत्पन्न होता है, फिर इसे पहले की तरह दिखाना है यह परीक्षण के लिए नदियों को बनाने में उपयोगी होगा: नोट: पढ़ने के बाद () को कहा जाता है, हमें तब तक पढ़ना जारी रखना चाहिए जब तक कि हम काम नहीं करते या पुश () तक झूठी लौटाते हैं। पुराने नोड. जेएस संस्करणों के साथ स्ट्रीम 2 का उपयोग करना यदि आप इस कोड को 0.10 से पुराने नोड. जेएस के साथ काम करना चाहते हैं, तो आप अपने पैकेज में पढ़ने योग्य-स्ट्रीम के लिए निर्भरता को शामिल कर सकते हैं और पढ़ने के लिए लाइन 5 बदल सकते हैं: यह मूल का उपयोग करेगा अगर Node. js संस्करण 0.10 है और यदि नहीं, तो यह पठनीय स्ट्रीम है, तो यह पॉलीफिल पठनीय-स्ट्रीम मॉड्यूल को लोड करेगा और वहां से इसका उपयोग करेगा। स्ट्रीम और स्ट्रीम 2 की रोकें रोकें धाराएं कभी-कभी किसी एप्लिकेशन से अधिक तेज़ी से डेटा प्रदान कर सकती हैं, इसलिए स्ट्रीम को रोकने की क्षमता शामिल होती है और स्ट्रीम को पुनरारंभ होने तक डेटा बफर होता है। स्ट्रीम 2 से पहले, आपको सावधानीपूर्वक ध्यान देने की ज़रूरत होगी कि आप पॉज़िंग और फिर से शुरू करने के साथ-साथ डेटा फिर से शुरू करने तक बफर करने लगे। हालांकि स्ट्रीम 2 (नोड. जेएस 0.10 या पठनीय-स्ट्रीम पैकेज के माध्यम से) से पठनीय है कि आपके और स्ट्रीम के लिए कार्यक्षमता को स्वचालित रूप से तब तक रोका गया है जब तक कि रीड () कहा जाता है। आप पुरानी धाराओं पर नए इंटरफेस को कार्यान्वित करने के लिए एक रीडबल के साथ पुरानी धाराओं को भी लपेट कर सकते हैं: एक अन्य स्थिति में आपको विराम और फिर से शुरू होने के बारे में चिंता करने की जरूरत है अगर आपका उपभोक्ता कोड पुराने पुश शैली इंटरफ़ेस कॉलिंग का उपयोग करता है.on (39data39, श्रोता)। यह स्ट्रीम को पीछे की संगतता मोड में डालता है और आपको कॉल करने की आवश्यकता होगी। रोकें () और. resume () अपने आवेदन में आने वाले डेटा की दर को नियंत्रित करने के लिए। यदि आप अपने कोड में पुराने इंटरफ़ेस का उपयोग कर रहे हैं, तो विवरण के लिए स्ट्रीम API डॉक्स देखें। ऑब्जेक्ट स्ट्रीम शुरू में जब धाराओं को आधिकारिक एपीआई पेश किया गया था, तो यह संकेत मिलता था कि डेटा एकत्रित होने वाला बफ़र बफर या स्ट्रिंग होगा, हालांकि कई प्रयोक्ताओं को यह पता चला कि यह वस्तुएं स्ट्रीम करने में सक्षम होने के लिए बहुत अच्छी थी नोड। जेएस 0.10 में धारा 2 ने औपचारिक रूप से स्पष्ट किया कि यह कैसे काम करना चाहिए। ऑब्जेक्ट मोड में कब पढ़ें (एन) बस अगले ऑब्जेक्ट देता है (एन की अनदेखी) एक स्ट्रीम को ऑब्जेक्ट मोड में स्विच करने के लिए ऑब्जेक्टमोड प्रॉपर्टी को अपनी पठनीय स्ट्रीम बनाने के लिए इस्तेमाल किए गए विकल्पों में सही सेट करें ताकि आप बसों में ऑब्जेक्ट का उपयोग आसानी से कर सकते हैं जैसे आप बफ़र और स्ट्रिंग्स का उपयोग कर सकते हैं, लेकिन एकमात्र सीमा यह है कि ऑब्जेक्ट्स पास निरर्थक नहीं हो सकता है क्योंकि यह संकेत देगा कि स्ट्रीम समाप्त हो गया है। Node. js पठनीय धाराएं लचीला होती हैं और आसान नोड। जेएस पठनीय धाराओं का इस्तेमाल करना आसान होता है और यहां तक ​​कि निर्माण करने में आसान भी होता है। आप न केवल बाइनरी और स्ट्रिंग डेटा को स्ट्रीम कर सकते हैं बल्कि ऑब्जेक्ट भी कर सकते हैं और फिर भी स्ट्रीम कार्यक्षमता का लाभ उठा सकते हैं। मुझे आशा है कि आप पठनीय धाराओं के इस त्वरित दौरे का आनंद लें, मुझे बताएं कि क्या आपके कोई प्रश्न हैं अतिरिक्त पठन के लिए इस पेज को अपडेट करेंउपयोग: आपको इसके बजाय सीएसवी-पार्सर का उपयोग करना चाहिए, इसके पास इसके समान एपीआई है लेकिन यह तेज है जावास्क्रिप्ट में लिखा गया एक तेज़ सीएसवी पार्सर। ब्राउज़र में नोड या Uint8Array में बफ़र का उपभोग करता है (बोप्स के लिए धन्यवाद)। जबकि अधिकांश सीएसवी पार्सर्स स्ट्रिंग डेटा को पार्स करते हैं, यह लाइब्रेरी कभी भी बाइनरी डेटा को गैर-बाइनरी डेटा में परिवर्तित नहीं करता है। इसका तेज क्योंकि यह नंबर, स्ट्रिंग्स, एरेज़ या ऑब्जेक्ट नहीं बनाता है - सीएसवी में लाइन और सेल वैल्यू का केवल द्विआधारी निरूपण, जिसका अर्थ है कि जेएस वीएम कम समय में यूटीएफ 8 स्ट्रिंग डिकोड करना और सी और जे एस । डिफ़ॉल्ट रूप से यह केवल लाइनों को विभाजित करेगा, लेकिन आप सेल और कक्ष मूल्यों को पार्स करने के लिए प्रदान की गई लाइनलाइन और. cell विधियों का उपयोग कर सकते हैं। एक 55 मिलियन लाइन, 5.18 जीबी सीएसवी को थोड़ा अधिक 1 मिनट में पर्स करता है। RequireBin पर ब्राउज़र में एक डेमो चल रहा है: आप क्वेरीस्ट्राफ़्ट द्वारा इंटरनेट पर किसी भी सीएसवी लोड कर सकते हैं, उदा।: डेमो में उपयोग किए जाने वाले टर्मिनल रेंडरर के कारण विशाल सीएसवी को रेंडर करने में धीमा हो सकता है। आप इसे दो तरीकों से उपयोग कर सकते हैं: प्रोग्राम प्रोग्राम नोड प्रोग्राम में या कमांड लाइन से। पार्सर एक डुप्लेक्स धारा है - आप इसे पाइप डेटा कर सकते हैं और यदि सीएसवी में सच्चाई है तो सीएसवी में प्रत्येक लाइन के लिए एक बफर निकल जाएगा तो पार्सर स्ट्रीम सीएसवी के प्रत्येक पंक्ति का प्रतिनिधित्व करने वाली पूरी तरह से डीकोड किए गए जेएसओन ऑब्जेक्ट काट देगा पंक्ति) एक पंक्ति बफर से पर्स कोशिकाएं सेल बफरों की एक सरणी देता है। परीक्षण सूट चलाने के लिए, पहले रेपो में निम्नलिखित कमांड को खोलें, विकास निर्भरता स्थापित करें: फिर परीक्षण चलाएं: एमआईटी लाइसेंस (एमआईटी) कॉपीराइट (सी) 2018 रेडेलेलिकेंस अनुमति, एतद् द्वारा मुफ्त में दी जाती है बिना किसी प्रतिबंध के सॉफ्टवेयर में काम करने के लिए इस सॉफ़्टवेयर की एक प्रति और संबंधित दस्तावेज़ीकरण फाइल (quotSoftwarequot) प्राप्त करने वाले किसी भी व्यक्ति के लिए, बिना किसी सीमा के उपयोग करने, प्रतिलिपि बनाने, संशोधित करने, मर्ज करने, प्रकाशित करने, वितरण, उपलाइसेंस, और सॉफ़्टवेयर की प्रतियां बेचते हैं, और उन लोगों को अनुमति देने के लिए जिनके लिए सॉफ़्टवेयर निम्न करने के लिए सुसज्जित है, निम्नलिखित शर्तों के अधीन: उपरोक्त कॉपीराइट नोटिस और यह अनुमति नोटिस सभी प्रतियां या सॉफ़्टवेयर के पर्याप्त भाग में शामिल किए जाएंगे। सॉफ़्टवेयर उपलब्ध कराया गया है, किसी भी प्रकार की वारंटी के बिना, व्यक्त या निहित, जिसमें व्यापारिकता की वारंटी, सीमित लक्ष्य और गैर-उल्लंघन के लिए सीमित नहीं है। किसी भी घटना में अधिकारियों या कॉपीराइट धारकों को किसी भी दावे, क्षति या अन्य देयता के लिए उत्तरदायी नहीं होना चाहिए, चाहे अनुबंध, कार्रवाई या अन्यथा, सॉफ्टवेयर से संबंधित या उपयोग या अन्य कार्यों के संबंध में होने पर सॉफ्टवेयर। इसकी अलग-अलग अनुमतियों और कई परियोजनाओं के साथ डेवलपर टीमों को प्रबंधित करना कभी आसान नहीं रहा। निजी पैकेज और संगठनों के बारे में अधिक जानें

No comments:

Post a Comment