WebSocket:close() 方法
>备注: 此特性在 Web Worker 中可用。
WebSocket.close() 方法关闭 WebSocket 连接或连接尝试(如果存在)。如果连接已经是 CLOSED 状态,此方法不会执行任何操作。
备注:关闭连接的过程以关闭握手开始,close() 方法在启动该关闭握手之前不会丢弃先前已发送的消息;即使用户代理仍在忙于发送这些消息,握手也只会在消息发送完成后才开始。
语法
js
close()
close(code)
close(code, reason)
参数
code可选-
一个表示关闭原因的整数 WebSocket 连接关闭代码值:
- 如果未指定,则会自动设置连接的关闭代码:正常关闭时为
1000,否则为1001-1015范围内的另一个标准值,表示连接被关闭的实际原因。 - 如果指定了该参数,此
code参数的值会覆盖连接的关闭代码的自动设置,改为设置自定义代码。该值必须是整数:1000,或你自己选择的3000-4999范围内的自定义代码。如果指定了code值,也应指定reason值。
- 如果未指定,则会自动设置连接的关闭代码:正常关闭时为
reason可选-
一个字符串,提供自定义的 WebSocket 连接关闭原因(对关闭原因的简洁可读说明)。该值的长度不得超过 123 字节(以 UTF-8 编码)。
备注:由于 UTF-8 使用两个到四个字节来编码任何非 ASCII 字符,包含非 ASCII 字符的 123 个字符的
reason值可能会超过 123 字节的限制。如果指定了
reason值,也应指定code值。
返回值
无(undefined)。
异常
InvalidAccessErrorDOMException-
如果
code既不是等于1000的整数,也不是3000–4999范围内的整数,则抛出。 SyntaxErrorDOMException-
如果 UTF-8 编码后的
reason值长度超过 123 字节,则抛出。
规范
| 规范 |
|---|
| WebSockets> # dom-websocket-close> |
浏览器兼容性
参见
- RFC 6455(WebSocket 协议规范)