web api instance method
WebSocket: close() method
Available in workers
The WebSocket.close() method closes the
WebSocket connection or connection attempt, if any. If the connection is
already CLOSED, this method does nothing.
[!NOTE] The process of closing the connection begins with a closing handshake, and the
close()method does not discard previously-sent messages before starting that closing handshake; even if the user agent is still busy sending those messages, the handshake will only start after the messages are sent.
Syntax
close()
close(code)
close(code, reason)
Parameters
-
codeOptional- : An integer WebSocket connection close code value indicating a reason for closure:
- If unspecified, a close code for the connection is automatically set: to
1000for a normal closure, or otherwise to another standard value in the range1001-1015that indicates the actual reason the connection was closed. - If specified, the value of this
codeparameter overrides the automatic setting of the close code for the connection, and instead sets a custom code. The value must be an integer: either1000, or else a custom code of your choosing in the range3000-4999. If you specify acodevalue, you should also specify areasonvalue.
- If unspecified, a close code for the connection is automatically set: to
- : An integer WebSocket connection close code value indicating a reason for closure:
-
reasonOptional-
: A string providing a custom WebSocket connection close reason (a concise human-readable prose explanation for the closure). The value must be no longer than 123 bytes (encoded in UTF-8).
[!NOTE] Because UTF-8 uses two to four bytes to encode any non-ASCII characters, a 123-character
reasonvalue containing non-ASCII characters would exceed the 123-byte limit.If you specify a
reasonvalue, you should also specify acodevalue.
-
Return value
None (undefined).
Exceptions
InvalidAccessErrorDOMException- : Thrown if
codeis neither an integer equal to1000nor an integer in the range3000–4999.
- : Thrown if
SyntaxErrorDOMException- : Thrown if the UTF-8-encoded
reasonvalue is longer than 123 bytes.
- : Thrown if the UTF-8-encoded
Specifications
Browser compatibility
See also
- RFC 6455 (the WebSocket Protocol specification)