在canvas中上传图像文件并使用node.js中的socket.emit将其广播到客户端

时间:2012-12-27 12:54:48

标签: javascript node.js socket.io

我只是想从服务器向客户端广播图像。

我可以在客户端的一端上传图像。但它没有反映在另一边。 我需要包含哪些内容才能使这些内容有效?

1 个答案:

答案 0 :(得分:1)

我认为你不应该使用Socket.IO进行高效载流(如图片)。

试试这个:

在您的服务器中:

var socket = require('socket.io'),
    io = socket.listen(yourApp);

io.sockets.on('connection', function(client) {

  client.on('imageUploaded', function(imgURL) {
    client.broadcast.emit('imageBroadcast', imgURL);    
  });

});

在您的客户中:

var server = io.connect(yourServerIp);

// You image upload logic here. You can get the URL after uploading and then you call this function:
function imageUploaded(url){
  server.emit('imageUploaded', url);
}

server.on('imageBroadcast', function(imgURL){
  // Here you decide what to do with the image
});