2012-09-01 15 views
8

मैंने अभी node.js का उपयोग करना शुरू कर दिया है, मैं sockets.io के साथ एक नोड सर्वर चला रहा हूं और मुझे क्लाइंट को बाइट्स का बफर भेजने की आवश्यकता है।socket.io स्ट्रीमिंग बाइनरी डेटा

मैं समझता हूं कि यह पहले बाइट बफर को बेस 64 पर अनुवाद करके और इसे भेजकर किया जा सकता है, फिर इसे क्लाइंट साइड पर वापस अनुवाद कर सकता है। लेकिन मैं सोच रहा था कि क्लाइंट को बाइट स्ट्रीम प्राप्त करने का एक और शानदार तरीका है या नहीं।

+1

मुझे लगता है कि यह एक वैध उत्तर है http://stackoverflow.com/a/24617425/950039। कृपया संतुष्ट होने पर टिकटें, टिप्पणी न करें :) –

उत्तर

2

https://github.com/binaryjs/binaryjs एक समाधान हो सकता है। बेस 64 में ओवरहेड आकार का ~ 30% है, इसलिए यदि आपको बड़ी मात्रा में डेटा स्थानांतरित करने की आवश्यकता है तो यह अक्षम हो जाएगा।

+1

मैंने बाइनरीज़ को देखा है लेकिन मुझे इसे अपने सॉकेट.io सर्वर के साथ काम करने का कोई तरीका नहीं मिल रहा है। मैं पहले से लिखे गए कोड को स्क्रैप नहीं करना चाहता हूं। – crimsonsky2005

1

socket.io के साथ बाइनरीज़ का उपयोग करना थोड़ा मुश्किल है। कोशिश

https://github.com/liamks/Delivery.js

जो socket.io के माध्यम से ग्राहकों और सर्वर के बीच संचार के साधन प्रदान करता है deliveryjs।

हालांकि यह मॉड्यूल बेस 64 रूपांतरण का भी उपयोग करता है, जो एक दोष है।

+0

वह लिंक बिल्कुल मदद नहीं करता है। –

2

वहाँ भी socket.io धारा https://github.com/nkzawa/socket.io-stream

+0

प्रोजेक्ट ऐसा लगता है कि यह अब सक्रिय नहीं है। यानी मुद्दों को हल नहीं किया जा रहा है। – dmr07

4

Socket.IO 1.0 अब बाइनरी डेटा स्थानांतरण का समर्थन करता है है। कृपया here देखें। आप ब्लॉब, ऐरेबफर और फ़ाइल का उपयोग कर सकते हैं।

संबंधित मुद्दे