RTCIceCandidate

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.

* Some parts of this feature may have varying levels of support.

Giao diện RTCIceCandidate - một phần của WebRTC API - đại diện cho một cấu hình ứng cử viên Interactive Connectivity Establishment (ICE) có thể được dùng để thiết lập một RTCPeerConnection.

Một ICE candidate mô tả các giao thức và đường định tuyến cần có để WebRTC có thể giao tiếp với một thiết bị từ xa. Khi bắt đầu một kết nối ngang hàng WebRTC, thông thường mỗi đầu của kết nối sẽ đề xuất một số candidate, cho đến khi hai bên thống nhất được một candidate mô tả kết nối mà họ cho là phù hợp nhất. Sau đó, WebRTC dùng chi tiết của candidate đó để khởi tạo kết nối.

Để xem chi tiết về cách quy trình ICE hoạt động, hãy xem Lifetime of a WebRTC session. Bài viết WebRTC connectivity cung cấp thêm thông tin hữu ích.

Constructor

RTCIceCandidate()

Tạo một đối tượng RTCIceCandidate để biểu diễn một ICE candidate đơn lẻ, và có thể được cấu hình bằng một đối tượng cấu hình.

Note: Để tương thích ngược, constructor cũng chấp nhận một chuỗi chứa giá trị của thuộc tính candidate thay cho đối tượng cấu hình.

Thuộc tính instance

address Read only

Một chuỗi chứa địa chỉ IP của candidate.

candidate Read only

Một chuỗi biểu diễn địa chỉ truyền tải của candidate có thể dùng cho các phép kiểm tra kết nối. Định dạng của địa chỉ này là một candidate-attribute như được định nghĩa trong RFC 5245. Chuỗi này rỗng ("") nếu RTCIceCandidate là chỉ báo "end of candidates".

component Read only

Một chuỗi cho biết candidate là RTP hay RTCP; giá trị của nó là rtp hoặc rtcp, và được suy ra từ trường "component-id" trong chuỗi a-line candidate.

foundation Read only

Trả về một chuỗi chứa định danh duy nhất, giống nhau cho mọi candidate cùng loại, cùng nền tảng cơ sở (địa chỉ mà ICE agent đã gửi candidate từ đó), và đến từ cùng một máy chủ STUN. Thuộc tính này giúp tối ưu hóa hiệu năng ICE khi ưu tiên và đối chiếu các candidate xuất hiện trên nhiều đối tượng RTCIceTransport.

port Read only

Một giá trị số nguyên cho biết cổng của candidate.

priority Read only

Một giá trị số nguyên dài cho biết độ ưu tiên của candidate.

protocol Read only

Một chuỗi cho biết giao thức của candidate là "tcp" hay "udp".

relatedAddress Read only

Nếu candidate được suy ra từ một candidate khác, relatedAddress là chuỗi chứa địa chỉ IP của candidate host đó. Với candidate host, giá trị này là null.

relatedPort Read only

Với candidate được suy ra từ một candidate khác, chẳng hạn relay hoặc reflexive, relatedPort là số chỉ cổng của candidate mà candidate này được suy ra từ đó. Với candidate host, thuộc tính relatedPortnull.

sdpMid Read only

Một chuỗi chỉ định thẻ định danh media stream của candidate, giúp xác định duy nhất media stream trong component mà candidate được gắn với, hoặc null nếu không có liên kết như vậy.

sdpMLineIndex Read only

Nếu không phải null, sdpMLineIndex cho biết chỉ số bắt đầu từ 0 của media description (như được định nghĩa trong RFC 4566) trong SDP mà candidate được gắn với.

tcpType Read only

Nếu protocol"tcp", tcpType biểu diễn loại TCP candidate. Ngược lại, tcpTypenull.

type Read only

Một chuỗi cho biết loại candidate, là một trong các chuỗi được liệt kê ở RTCIceCandidate.type.

usernameFragment Read only

Một chuỗi chứa phân đoạn tên người dùng được sinh ngẫu nhiên ("ice-ufrag"), mà ICE dùng cho toàn vẹn thông điệp cùng với mật khẩu được sinh ngẫu nhiên ("ice-pwd"). Bạn có thể dùng chuỗi này để kiểm tra các thế hệ ICE; mỗi thế hệ của cùng một tiến trình ICE sẽ dùng cùng usernameFragment, kể cả sau khi ICE khởi động lại.

Phương thức instance

toJSON()

Trả về một biểu diễn JSON của cấu hình hiện tại của RTCIceCandidate. Định dạng của biểu diễn này giống với đối tượng candidateInfo có thể được truyền tùy chọn vào constructor RTCIceCandidate() để cấu hình candidate.

Ví dụ

Xem bài viết Signaling and video calling, bài này minh họa toàn bộ quy trình.

Thông số kỹ thuật

Specification
WebRTC: Real-Time Communication in Browsers
# rtcicecandidate-interface

Tương thích trình duyệt