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
candidatethay cho đối tượng cấu hình.
Thuộc tính instance
addressRead only-
Một chuỗi chứa địa chỉ IP của candidate.
candidateRead 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-attributenhư được định nghĩa trong RFC 5245. Chuỗi này rỗng ("") nếuRTCIceCandidatelà chỉ báo "end of candidates". componentRead only-
Một chuỗi cho biết candidate là RTP hay RTCP; giá trị của nó là
rtphoặcrtcp, và được suy ra từ trường"component-id"trong chuỗi a-linecandidate. foundationRead 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. portRead only-
Một giá trị số nguyên cho biết cổng của candidate.
priorityRead only-
Một giá trị số nguyên dài cho biết độ ưu tiên của candidate.
protocolRead only-
Một chuỗi cho biết giao thức của candidate là
"tcp"hay"udp". -
Nếu candidate được suy ra từ một candidate khác,
relatedAddresslà chuỗi chứa địa chỉ IP của candidate host đó. Với candidate host, giá trị này lànull. -
Với candidate được suy ra từ một candidate khác, chẳng hạn relay hoặc reflexive,
relatedPortlà số chỉ cổng của candidate mà candidate này được suy ra từ đó. Với candidate host, thuộc tínhrelatedPortlànull. sdpMidRead 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
nullnếu không có liên kết như vậy. sdpMLineIndexRead only-
Nếu không phải
null,sdpMLineIndexcho 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. tcpTypeRead only-
Nếu
protocollà"tcp",tcpTypebiểu diễn loại TCP candidate. Ngược lại,tcpTypelànull. typeRead 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. usernameFragmentRead 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ượngcandidateInfocó thể được truyền tùy chọn vào constructorRTCIceCandidate()để 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> |