我使用websockify
将图像从python服务器显示到HTML5画布。通过websocket接收图像
我认为我已经成功地从我的python服务器发送图像,但我无法将图像显示在画布上。
我认为这个问题有,我想显示在画布上的字节数做,我相信我不是在等待接收到整个图像,直到然后显示图像在画布上。
到现在为止我有:
on消息函数。当我发送的图像,我得到12 MESSAGERECEIVED
控制台
ws.on('message', function() {
//console.log("MESSAGERECEIVED!")
msg(ws.rQshiftStr());
});
味精功能,我接收字符串,我试图将其显示在画布上。我为每幅图片调用方法12次。刺痛的格式是'xÙõKþ°pãüCY
:
function msg(str) {
//console.log(str);
console.log("RELOAD");
var ctx = cv.getContext('2d');
var img = new Image();
//console.log(str);
img.src = "data:image/png;base64," + str;
img.onload = function() {
ctx.drawImage(img,0,0);
}
}
关于如何解决此问题有什么建议?
除非客户端不支持hybi草稿,否则不应该通过websockets将图像作为base64传输。 Base64将产生33%的开销。因此发送二进制文件是最好的。 – einaros 2012-02-15 11:13:47
我认为'websockify'正在将通过它传输的所有内容转换为base64。 – glarkou 2012-02-15 11:15:49
如果是这样,那太糟糕了。寻找另一个websocket实现。 – einaros 2012-02-15 12:18:25