我使用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