WebSocket: close() 方法
**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 使用 2 到 4 个字节 来编码任何非 ASCII 字符,因此包含非 ASCII 字符的 123 个字符的
reason
值将超过 123 字节的限制。如果您指定了
reason
值,则还应指定code
值。
返回值
无 (undefined
).
异常
InvalidAccessError
DOMException
-
如果
code
不是等于1000
的整数,也不是3000
-4999
范围内的整数,则抛出此异常。 SyntaxError
DOMException
-
如果 UTF-8 编码的
reason
值超过 123 个字节,则抛出此异常。
规范
规范 |
---|
WebSockets 标准 # ref-for-dom-websocket-close① |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- RFC 6455(WebSocket 协议规范)