RTCDataChannel: 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 January 2020.
Phương thức RTCDataChannel.close() đóng
RTCDataChannel. Một trong hai máy ngang hàng được phép gọi phương thức này để bắt đầu
đóng kênh.
Việc đóng kênh dữ liệu không phải là ngay lập tức. Hầu hết quá trình đóng
kết nối được xử lý không đồng bộ; bạn có thể phát hiện khi kênh đã kết thúc
kết thúc bằng cách theo dõi sự kiện close trên kênh dữ liệu.
Chuỗi các sự kiện xảy ra để đáp ứng với phương thức này được gọi là:
RTCDataChannel.readyStateđược đặt thànhclosing.- Một tác vụ nền được thiết lập để xử lý phần còn lại của các bước bên dưới và
close()trả về cho người gọi. - Lớp vận chuyển xử lý mọi thông báo được lưu vào bộ đệm; lớp giao thức quyết định nên gửi chúng hay loại bỏ chúng.
- Quá trình vận chuyển dữ liệu cơ bản đã bị đóng.
- Thuộc tính
RTCDataChannel.readyStateđược đặt thànhclosed. - Nếu quá trình vận chuyển bị đóng do lỗi,
RTCDataChannelđược gửi một sự kiệnerrorvớinameđược đặt thànhNetworkError. - Một sự kiện
closeđược gửi tới kênh.
Cú pháp
js
close()
Thông số
Không.
Giá trị trả về
Không có (undefined).
Ví dụ
js
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel("my channel");
dc.onmessage = (event) => {
console.log(`received: ${event.data}`);
dc.close(); // We decided to close after the first received message
};
dc.onopen = () => {
console.log("datachannel open");
};
dc.onclose = () => {
console.log("datachannel close");
};
// Now negotiate the connection and so forth…
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcdatachannel-close> |