WebSocket
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.
* Some parts of this feature may have varying levels of support.
Note: This feature is available in Web Workers.
Đối tượng WebSocket cung cấp API để tạo và quản lý một kết nối WebSocket tới máy chủ, đồng thời gửi và nhận dữ liệu qua kết nối đó.
Để tạo một WebSocket, hãy dùng constructor WebSocket().
Note:
API WebSocket không có cách nào áp dụng backpressure, vì vậy khi thông điệp đến nhanh hơn tốc độ ứng dụng có thể xử lý, ứng dụng sẽ làm đầy bộ nhớ thiết bị bằng cách đệm các thông điệp đó, trở nên không phản hồi do dùng 100% CPU, hoặc cả hai. Nếu bạn cần một lựa chọn tự động hỗ trợ backpressure, hãy xem WebSocketStream.
Constructor
WebSocket()-
Trả về một đối tượng
WebSocketmới được tạo.
Thuộc tính thể hiện
WebSocket.binaryType-
Kiểu dữ liệu nhị phân được dùng cho kết nối.
WebSocket.bufferedAmountRead only-
Số byte dữ liệu đang được xếp hàng.
WebSocket.extensionsRead only-
Các tiện ích được máy chủ chọn.
WebSocket.protocolRead only-
Giao thức phụ được máy chủ chọn.
WebSocket.readyStateRead only-
Trạng thái hiện tại của kết nối.
WebSocket.urlRead only-
URL tuyệt đối của WebSocket.
Phương thức thể hiện
WebSocket.close()-
Đóng kết nối.
WebSocket.send()-
Xếp hàng dữ liệu để truyền đi.
Sự kiện
Hãy lắng nghe các sự kiện này bằng addEventListener() hoặc bằng cách gán trình xử lý sự kiện vào thuộc tính oneventname của giao diện này.
close-
Được kích hoạt khi kết nối
WebSocketbị đóng. Cũng có sẵn qua thuộc tínhonclose. error-
Được kích hoạt khi kết nối
WebSocketbị đóng do lỗi, chẳng hạn khi một số dữ liệu không thể được gửi. Cũng có sẵn qua thuộc tínhonerror. message-
Được kích hoạt khi dữ liệu được nhận qua
WebSocket. Cũng có sẵn qua thuộc tínhonmessage. open-
Được kích hoạt khi kết nối
WebSocketđược mở. Cũng có sẵn qua thuộc tínhonopen.
Ví dụ
// Tạo kết nối WebSocket.
const socket = new WebSocket("ws://localhost:8080");
// Kết nối đã mở
socket.addEventListener("open", (event) => {
socket.send("Hello Server!");
});
// Lắng nghe thông điệp
socket.addEventListener("message", (event) => {
console.log("Thông điệp từ máy chủ ", event.data);
});
Thông số kỹ thuật
| Specification |
|---|
| WebSockets> # the-websocket-interface> |