मैं इसे गुगल रहा हूं और थोड़ी देर के लिए स्टैक ओवरफ्लो देख रहा हूं लेकिन समाधान नहीं मिला है - इसलिए पोस्ट।नोड.जेएस और वेबसाकेट्स के साथ स्ट्रीमिंग बाइनरी
मैं जिज्ञासा से बाहर नोड.जेएस और वेबसाकेट के साथ खेल रहा हूं। मैं क्लाइंट को कुछ बाइनरी डेटा (एक एमपी 3) स्ट्रीम करने की कोशिश कर रहा हूं। मेरा कोड अब तक नीचे है लेकिन स्पष्ट रूप से इरादे से काम नहीं कर रहा है।
मुझे संदेह है कि मेरी समस्या यह है कि मैं वास्तव में सर्वर से बाइनरी डेटा नहीं भेज रहा हूं और कुछ स्पष्टीकरण/सहायता चाहूंगा।
यहाँ मेरा सर्वर ...
var fs = require('fs');
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({port: 8080,host:"127.0.0.1"});
wss.on('connection', function(ws) {
var readStream =
fs.createReadStream("test.mp3",
{'flags': 'r',
'encoding': 'binary',
'mode': 0666,
'bufferSize': 64 * 1024});
readStream.on('data', function(data) {
ws.send(data, {binary: true, mask: false});
});
});
और मेरे मुवक्किल ...
context = new webkitAudioContext();
var ws = new WebSocket("ws://localhost:8080");
ws.binaryType = 'arraybuffer';
ws.onmessage = function (evt) {
context.decodeAudioData(
evt.data,
function(buffer) {
console.log("Success");
},
function(error) {
console.log("Error");
});
};
कॉल हमेशा डिकोड करने के लिए त्रुटि कॉलबैक में खत्म। मुझे लगता है कि ऐसा इसलिए है क्योंकि यह खराब डेटा प्राप्त कर रहा है।
तो मेरा सवाल यह है कि मैं फ़ाइल को बाइनरी के रूप में सही ढंग से कैसे स्ट्रीम करूं?
धन्यवाद
आप मुझे इस के लिए पूर्ण उदाहरण या कोड प्रदान करें कर सकते हैं के रूप में मैं Node.js और वेब सॉकेट सीख रहा हूँ और मेरे आवश्यकताओं को भी प्रतिक्रिया के लिए एक ही –