WebSocket:WebSocket() 构造函数
WebSocket()
构造函数返回一个新的 WebSocket
对象,并立即尝试建立到指定 WebSocket URL 的连接。
语法
js
new WebSocket(url)
new WebSocket(url, protocols)
参数
url
-
要连接到的目标 WebSocket 服务器的 URL。URL 必须使用以下方案之一:
ws
、wss
、http
或https
,并且不能包含 URL 片段。如果提供相对 URL,则相对于调用脚本的基本 URL。 protocols
可选-
表示客户端想要使用的子协议的一个字符串或字符串数组。如果省略,则默认使用空数组,即
[]
。单个服务器可以实现多个 WebSocket 子协议,并根据指定的值处理不同类型的交互。允许的值是可以在
Sec-WebSocket-Protocol
HTTP 标头中指定的那些值。请注意,在与服务器协商子协议之前,连接不会建立。然后可以从
WebSocket.protocol
读取选定的协议。
异常
SyntaxError
DOMException
-
如果以下情况则抛出
示例
以下示例显示了如何连接到 WebSocket
。
以下代码显示了如何使用具有 wss
方案的 URL 连接到套接字
js
const httpsWebSocket = new WebSocket('wss://websocket.example.org');
console.log(httpsWebSocket.url); // 'wss://websocket.example.org'
... // Do something with socket
httpsWebSocket.close();
连接到 HTTPS URL 的代码几乎相同。在后台,浏览器将其解析为“WSS”连接,因此 WebSocket.url
将具有方案“wss:”。
js
let wssWebSocket = new WebSocket('https://websocket.example.org');
console.log(wssWebSocket.url); // 'wss://websocket.example.org'
... // Do something with socket
wssWebSocket.close();
我们还可以解析相对 URL。绝对 URL 将取决于调用它的上下文的基 URL。
js
relativeWebSocket = new WebSocket('/local/url');
... // Do something with socket
relativeWebSocket.close();
规范
规范 |
---|
WebSockets 标准 # ref-for-dom-websocket-websocket① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- RFC 6455(WebSocket 协议规范)