RTCIceCandidate: protocol-Eigenschaft

Die schreibgeschützte protocol-Eigenschaft des RTCIceCandidate-Interfaces ist ein String, der angibt, ob der Kandidat UDP oder TCP als Transportprotokoll verwendet.

Der Wert des protocol-Feldes wird aus dem candidateInfo-Optionsobjekt gesetzt, das dem RTCIceCandidate()-Konstruktor übergeben wird. Sie können den Wert von protocol nicht direkt im Optionsobjekt angeben, aber sein Wert wird automatisch aus der candidate-a-Zeile des Objekts extrahiert, wenn sie richtig formatiert ist.

protocol ist standardmäßig null, wenn es nicht richtig im SDP angegeben ist, was jedoch ein Fehlerzustand ist und zu einer Ausnahme führt, wenn Sie RTCPeerConnection.addIceCandidate() aufrufen.

Wert

Ein String, der angibt, welches Netzwerkprotokoll der Kandidat verwendet:

tcp

Der Kandidat würde, falls ausgewählt, TCP als Transportprotokoll für seine Daten verwenden. Die Eigenschaft tcpType liefert zusätzliche Informationen über die Art des durch das Objekt dargestellten TCP-Kandidaten.

udp

Der Kandidat verwendet das UDP-Transportprotokoll für seine Daten. Dies ist das bevorzugte Protokoll für Medieninteraktionen aufgrund seines besseren Leistungsprofils.

Hinweis: Wenn protocol null ist — und protocol vom user agent unterstützt wird — wird das Übergeben des Kandidaten an addIceCandidate() fehlschlagen und eine OperationError-Ausnahme auslösen.

Verwendungshinweise

Hier ist ein Beispiel für eine Kandidat-a-Zeile aus einer ICE-Transaktion:

a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host

Das dritte Feld, "udp", ist der Protokolltyp und zeigt an, dass der Kandidat das UDP-Transportprotokoll verwenden würde.

Beispiele

Dieser Codeausschnitt untersucht den Wert von protocol, um zu entscheiden, ob er den Wert von tcpType betrachten soll, um zu sehen, ob es sich um einen simultaneous-open (S-O)-Kandidaten handelt.

js
if (candidate.protocol === "tcp") {
  if (candidate.tcpType === "so") {
    adjustForSimultaneousOpen(candidate);
  }
}

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser