WebSocket: phương thức close()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Phương thức WebSocket.close() đóng kết nối WebSocket hoặc nỗ lực kết nối, nếu có. Nếu kết nối đã ở trạng thái CLOSED, phương thức này không làm gì cả.
Note:
Quá trình đóng kết nối bắt đầu bằng một closing handshake, và phương thức close() không hủy các thông điệp đã gửi trước đó trước khi bắt đầu handshake này; ngay cả khi user agent vẫn đang bận gửi các thông điệp đó, handshake chỉ bắt đầu sau khi các thông điệp được gửi xong.
Cú pháp
close()
close(code)
close(code, reason)
Tham số
codeOptional-
Một giá trị số nguyên WebSocket connection close code cho biết lý do đóng:
- Nếu không chỉ định, mã đóng của kết nối sẽ được đặt tự động: là
1000cho một lần đóng bình thường, hoặc là một giá trị chuẩn khác trong khoảng1001-1015để chỉ lý do thực tế khiến kết nối bị đóng. - Nếu được chỉ định, giá trị của tham số
codesẽ ghi đè thiết lập tự động của mã đóng cho kết nối và thay vào đó đặt một mã tùy chỉnh. Giá trị phải là một số nguyên: hoặc1000, hoặc một mã tùy chỉnh do bạn chọn trong khoảng3000-4999. Nếu bạn chỉ định giá trịcode, bạn cũng nên chỉ định giá trịreason.
- Nếu không chỉ định, mã đóng của kết nối sẽ được đặt tự động: là
reasonOptional-
Một chuỗi cung cấp WebSocket connection close reason tùy chỉnh (một lời giải thích ngắn gọn, dễ hiểu bằng văn bản tự nhiên cho việc đóng kết nối). Giá trị này không được dài quá 123 byte (khi mã hóa UTF-8).
Note: Vì UTF-8 dùng hai đến bốn byte để mã hóa bất kỳ ký tự nào không phải ASCII, một giá trị
reasondài 123 ký tự nhưng chứa ký tự không phải ASCII sẽ vượt quá giới hạn 123 byte.Nếu bạn chỉ định giá trị
reason, bạn cũng nên chỉ định giá trịcode.
Giá trị trả về
Không có (undefined).
Ngoại lệ
InvalidAccessErrorDOMException-
Được ném ra nếu
codekhông phải là số nguyên bằng1000hoặc là số nguyên trong khoảng3000đến4999. SyntaxErrorDOMException-
Được ném ra nếu giá trị
reasonsau khi mã hóa UTF-8 dài hơn 123 byte.
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebSockets> # dom-websocket-close> |
Tương thích trình duyệt
Xem thêm
- RFC 6455 (đặc tả giao thức WebSocket)