RTCIceCandidate: thuộc tính candidate
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
Thuộc tính chỉ đọc candidate trên giao diện RTCIceCandidate trả về một chuỗi mô tả chi tiết về candidate.
Hầu hết các thuộc tính khác của RTCIceCandidate đều được trích xuất từ chuỗi này.
Thuộc tính này có thể được cấu hình bằng thuộc tính candidate của đối tượng được truyền vào constructor RTCIceCandidate() hoặc RTCPeerConnection.addIceCandidate().
Giá trị
Một chuỗi mô tả các thuộc tính của candidate, lấy trực tiếp từ thuộc tính SDP "candidate".
Chuỗi candidate xác định thông tin kết nối mạng cho candidate.
Nếu candidate là chuỗi rỗng (""), kết thúc danh sách candidate đã được đạt tới; candidate này được gọi là dấu hiệu "end-of-candidates".
Cú pháp của chuỗi candidate được mô tả trong RFC 5245, section 15.1. Với một a-line (dòng thuộc tính) như thế này:
a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host
giá trị của chuỗi candidate tương ứng sẽ là: "candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host".
user agent luôn ưu tiên các candidate có
priority cao nhất, khi các điều kiện khác bằng nhau. Trong
ví dụ trên, độ ưu tiên là 2043278322. Các thuộc tính đều được cách nhau
bằng một ký tự khoảng trắng, và theo thứ tự cụ thể. Danh sách đầy đủ các thuộc tính
cho candidate ví dụ này là:
Ví dụ
Trong ví dụ này, chúng ta thấy một hàm nhận đầu vào là một chuỗi SDP chứa ICE candidate nhận từ ngang hàng từ xa trong quá trình truyền hiệu.
function handleNewIceCandidate(candidateSDP) {
const candidateObj = new RTCIceCandidate(candidateSDP);
myPeerConnection.addIceCandidate(candidateObj).catch({
/* handle the error thrown by addIceCandidate() */
});
}
Hàm handleNewIceCandidate() được hiển thị ở đây truyền văn bản SDP của candidate nhận được
vào RTCIceCandidate() để nhận lại một đối tượng RTCIceCandidate,
đại diện cho candidate.
Candidate mới sau đó được truyền vào RTCPeerConnection.addIceCandidate() để thêm candidate vào danh sách
các candidate để WebRTC xem xét sử dụng cho kết nối đang được thiết lập.
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcicecandidate-candidate> |