diff --git a/core/rfb.js b/core/rfb.js index 85c9a93f..ff5c5ac0 100644 --- a/core/rfb.js +++ b/core/rfb.js @@ -53,6 +53,7 @@ export default class RFB extends EventTargetMixin { this._shared = 'shared' in options ? !!options.shared : true; this._repeaterID = options.repeaterID || ''; this._showDotCursor = options.showDotCursor || false; + this._wsProtocols = options.wsProtocols || ['binary']; // Internal state this._rfb_connection_state = ''; @@ -397,7 +398,7 @@ export default class RFB extends EventTargetMixin { try { // WebSocket.onopen transitions to the RFB init states - this._sock.open(this._url, ['binary']); + this._sock.open(this._url, this._wsProtocols); } catch (e) { if (e.name === 'SyntaxError') { this._fail("Invalid host or port (" + e + ")"); diff --git a/docs/API.md b/docs/API.md index d587429c..803176cb 100644 --- a/docs/API.md +++ b/docs/API.md @@ -187,6 +187,9 @@ connection to a specified VNC server. - A `DOMString` specifying the ID to provide to any VNC repeater encountered. + `wsProtocols` + - Protocols to use in the WebSocket connection, the default is: ['binary'] + #### connect The `connect` event is fired after all the handshaking with the server