通过socket.io-stream流播放图像

时间:2015-01-20 18:13:28

标签: javascript node.js sockets stream socket.io

现在我有代码,它将图像或任何其他文件从浏览器发送到服务器,然后服务器将流广播到所有其他套接字。一切正常,但我不知道如何实现的部分是浏览器的接收端。

浏览器发送:

var file = files[0]
var stream = ss.createStream()
ss(socket).emit('file', stream, { size: file.size })
ss.createBlobReadStream(file).pipe(stream)

服务器:

ss(socket).on('file', function(stream, data) {
  stream.pipe(fs.createWriteStream('file.jpg'))

  var newStream = ss.createStream()

  ss(socket).emit('file', newStream)
  stream.pipe(newStream)
})

浏览器接收:

ss(socket).on('file', function(stream, data) {
  // Implement this
})

我不确定如何处理传入的流并使用我刚刚发送的图像,显​​示它或任何其他任务。我感谢您对此提供的任何帮助,或者在此代码中指出任何错误。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过侦听浏览器接收上的数据事件来获取uint8array。我仍然不知道该怎么做。

ss(socket).on('file', function(stream, data) {
  stream.on("data",function(uint8array){ //do something })
})

我希望看到的其他事件似乎不会出现在客户收到的信息流中。