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

BCD tables only load in the browser

Siehe auch