socket.io操作二进制文件问题
我在客户端使用 socket.emit(‘message’,blob),可以发送到服务器端,但我再用socket.broadcast.emit(‘message’,blob), 广播出去的时候,客户端收不到数据,这是什么问题?
3 回复
贴下具体代码
@ravenwang 服务器端接受来自客户端的数据,测试成功接受到数据,server code:
socket.on('photoMessage', function (data) {
// we tell the client to execute 'new message'
socket.broadcast.emit('message', {
photo: data.photo
});
console.log('hello');
});
客户端处理服务器广播的数据,alert成功显示,照片无法显示 client code:
socket.on('message',function(data) {
alert('hello world!');
var uint8Arr = new Uint8Array(data.photo);
var str = String.fromCharCode.apply(null,uint8Arr);
var base64String = btoa(str);
result.src= 'data:image/png;base64,' + base64String;});
确认下客户端data是否收到了数据,收到的话应该是解析的问题