RTCIceCandidate: type Eigenschaft

Die schreibgeschützte Eigenschaft type des RTCIceCandidate-Interfaces gibt den Typ des Kandidaten an, den das Objekt darstellt.

Der Wert des type-Feldes wird aus dem candidateInfo-Optionsobjekt festgelegt, das an den RTCIceCandidate()-Konstruktor übergeben wird. Sie können den Wert von type nicht direkt im Optionsobjekt angeben, aber sein Wert wird automatisch aus dem candidate-a-Zeile-Objekt extrahiert (dem cand-type-Feld), wenn es korrekt formatiert ist.

Wert

Ein String, dessen Wert einer der unten definierten ist. Diese Kandidatentypen sind in der Reihenfolge der Priorität aufgelistet; je höher in der Liste, desto effizienter sind sie.

host

Der Kandidat ist ein Host-Kandidat, dessen IP-Adresse, wie in der RTCIceCandidate.address-Eigenschaft angegeben, tatsächlich die echte Adresse des entfernten Peers ist.

srflx

Der Kandidat ist ein serverreflexiver Kandidat; die ip und der Port sind eine Bindung, die von einem NAT für einen Agenten zugewiesen wurde, als er ein Paket durch das NAT an einen Server gesendet hat. Sie können vom STUN-Server und TURN-Server erlernt werden, um den Peer des Kandidaten anonym darzustellen.

prflx

Der Kandidat ist ein peerreflexiver Kandidat; die ip und der Port sind eine Bindung, die von einem NAT zugewiesen wurde, als er eine STUN-Anfrage gesendet hat, um den Peer des Kandidaten anonym darzustellen.

relay

Der Kandidat ist ein Relay-Kandidat, der von einem TURN-Server erhalten wurde. Die IP-Adresse des Relay-Kandidaten ist eine Adresse, die der TURN-Server verwendet, um die Medien zwischen den beiden Peers weiterzuleiten.

Wenn type null ist, fehlte diese Information in der a-Zeile des candidate, was dazu führt, dass RTCPeerConnection.addIceCandidate() eine OperationError-Ausnahme auslöst.

Beispiele

In diesem Beispiel wird der type des Kandidaten verwendet, um eine angepasste Benutzeroberfläche für Host-Kandidaten darzustellen (diejenigen, bei denen die ip direkt auf den entfernten Peer und nicht auf einen Vermittler verweist).

js
if (candidate.type === "host") {
  showHostControls();
} else {
  hideHostControls();
}

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcicecandidate-type

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
type

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch