2012-10-30 45 views
1

我試圖通過發送發送一個blob的WebSockets通過dataURItoBlob(canvas.get()[0].toDataURL('image/png'));以這種方式獲得一個blob:INVALID_STATE_ERR:DOM異常11,同時通過WebSocket的

connection.send(JSON.stringify({ 
       cmd: "fwd", 
       msg: msg, 
       p_id: worker_id, 
      }) 

其中msg是剛剛創建的團塊。如果我嘗試通過執行msg = ""+msg來發送blob,但它只能發送字符串[Object object],這對我來說沒用。

如果我在發送之前嘗試使用msg = JSON.stringify(msg),它會給我提供與主題標題相同的錯誤。

如果我嘗試發送數據而沒有將其封裝在blob中(如msg = canvas.get()[0].toDataURL('image/png');),我具有上述相同的行爲。

如何發送數據?由於

+0

是由字符串化導致錯誤或者送? –

+0

錯誤出現在'send()'中 – Masiar

回答

6

JSON.stringify()完全OK,它是做它的方式。

錯誤「INVALID_STATE_ERR:DOM異常11」錯誤是由套接字連接之前執行send()消息造成的。 WebSocket.send()後應WebSocket.onopen()事件處理程序被觸發觸發(或處理內部):

this.ws = new WebSocket("ws://localhost:1234", "base64"); 
this.ws.onopen = function() { this.send({"type":"init_req"});}; 
相關問題