2017-06-14 65 views
0

我目前正在研究一個在線小說(一個人做繪畫,其他人不得不猜測它是什麼)。我怎樣才能optimaly通過websocket發送圖紙?

當前我發送我的整個圖像從「drawup」(在畫布上)base64上的「mouseup」DOM事件到服務器,我發回給猜測者在相同的格式,我的問題是,它似乎相當沉重,我不知道如何有更輕的有效載荷。

$('#canvas').on('mouseup touchend', function() { 
    mouse.down = false; 

    // My problem is sending canvas.toDataURL() every time 
    update_canvas(canvas.toDataURL()); 
}); 

// I use this function inside ActionCable so this.perform will send the data to my channel 
var update_canvas = function(data_url) { 
    this.perform('update_canvas', {data_url: data_url}); 
}, 

您是否有更好的方式發送我的圖像數據?

+0

你看過更好的方法嗎?這裏可能涉及的太多。你是否也用這種方法測量了網絡延遲? –

回答

0

您可以發送鼠標位置列表或增量更改畫布,即只發送使用第二個畫布的新圖形。

+0

這是一個很好的方法。一個基本的實現可以在這裏找到(https://stackoverflow.com/a/43705140/3702797) – Kaiido

0

那麼我認爲最好的辦法是給你繪製的座標,我已經實現了類似這樣的事情,U愛泰克HV看看 http://connectboard.herokuapp.com/ 兩種打開它,或者更多不同的瀏覽器或電腦繪製。