在JavaScript中,當你實例化的WebSocket:WebSocket可以即時切換其binaryType嗎?
ws = new WebSocket(url);
你可以設置它的binaryType:
ws.binaryType = "blob";
// or
ws.binaryType = "arraybuffer";
問: 我可以更改binaryType對飛?
例如,如果我想使用相同的WS實例來交織文本消息和二進制消息,我可以執行以下操作嗎?
ws = new WebSocket(url);
// Send text
ws.binaryType = "blob";
ws.send("this is text");
// Now send binary data
ws.binaryType = "arraybuffer";
var ab = new ArrayBuffer(...);
ws.send(ab);
在閱讀W3C WebSocket的規範,我沒有看到任何明確地說,「你不能改變binaryType」,但網頁套接字的,我已經看到每一個例子/使用套binaryType一次,然後永遠不會改變它,這種表明它不能被改變。
任何信息,將不勝感激。
僅僅因爲他們沒有每個場景作爲例子,並不意味着它不可能。你有沒有嘗試過自己? – Ian
我建議試試看幾個不同的瀏覽器(和版本)。在這兩種情況下,我都認爲這不是一個好主意。我認爲大多數人都在使用具有連接回退/下降的抽象層,如socket.io和SignalR。因人而異。 – Tracker1