Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCTransportStats

Baseline 2026 *
Neu verfügbar

Seit Juli 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Das RTCTransportStats-Wörterbuch der WebRTC API liefert Informationen über den Transport (RTCDtlsTransport und dessen zugrundeliegenden RTCIceTransport), der von einem bestimmten Kandidatenpaar genutzt wird.

Die BUNDLE-Funktion ist eine SDP-Erweiterung, die es ermöglicht, einen einzigen Transport für das Senden und Empfangen von Medien zu verhandeln, die durch mehrere SDP-Mediabeschreibungen beschrieben werden. Wenn der Remote-Endpunkt über diese Funktion informiert ist, werden alle MediaStreamTrack und Datenkanäle zu einem einzigen Transport zusammengeführt, sobald die Verhandlung abgeschlossen ist. Dies trifft auf aktuelle Browser zu, aber wenn eine Verbindung zu einem älteren Endpunkt hergestellt wird, der nicht BUNDLE-fähig ist, könnten separate Transports für verschiedene Medien genutzt werden. Die bei der Verhandlung zu verwendende Richtlinie wird im RTCPeerConnection Konstruktor konfiguriert.

Diese Statistiken können erhalten werden, indem der RTCStatsReport durchlaufen wird, der von RTCPeerConnection.getStats() zurückgegeben wird, bis Sie einen Bericht mit dem type transport finden.

Instanz-Eigenschaften

bytesReceived Optional

Die Gesamtanzahl der Nutzdaten-Bytes, die über diesen Transport empfangen wurden (empfangene Bytes, ohne Header, Padding oder ICE-Konnektivitätschecks).

bytesSent Optional

Die Gesamtanzahl der Nutzdaten-Bytes, die über diesen Transport gesendet wurden (gesendete Bytes, ohne Header, Padding oder ICE-Konnektivitätschecks).

dtlsCipher Optional

Ein String, der den Namen der Cipher Suite angibt, die für den DTLS-Transport verwendet wird, wie TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256.

dtlsRole Optional

Ein String, der die DTLS-Rolle der zugehörigen RTCPeerConnection angibt. Dies ist eine der folgenden: client, server, unknown (bevor die DTLS-Verhandlung beginnt).

dtlsState

Ein String, der den aktuellen state des zugrundeliegenden RTCDtlsTransport angibt. Dies ist eine der folgenden: new, connecting, connected, closed, failed.

iceLocalUsernameFragment Optional

Ein String, der das lokale Benutzernamenfragment angibt, das die ICE-Interaktionssitzung eindeutig identifiziert, die von diesem Transport verwaltet wird.

iceRole Optional

Ein String, der die ICE-role des zugrundeliegenden RTCIceTransport angibt. Dies ist eine der folgenden: controlled, controlling, oder unknown.

iceState Optional

Ein String, der den aktuellen state des zugrundeliegenden RTCIceTransport angibt. Dies ist eine der folgenden: new, checking, connected, completed, disconnected, failed, oder closed.

localCertificateId Optional

Ein String, der die ID des lokalen Zertifikats enthält, das von diesem Transport verwendet wird. Nur für DTLS-Transporte vorhanden und nach erfolgter DTLS-Verhandlung.

packetsReceived Optional

Die Gesamtanzahl der über diesen Transport empfangenen Pakete.

packetsSent Optional

Die Gesamtanzahl der über diesen Transport gesendeten Pakete.

remoteCertificateId Optional

Ein String, der die ID oder das remote Zertifikat enthält, das von diesem Transport verwendet wird. Nur für DTLS-Transporte vorhanden und nach erfolgter DTLS-Verhandlung.

selectedCandidatePairChanges Optional

Die Anzahl der Male, die das ausgewählte Kandidatenpaar dieses Transports geändert wurde. Der Wert ist anfangs null und erhöht sich, wann immer ein Kandidatenpaar ausgewählt oder verloren wurde.

selectedCandidatePairId Optional

Ein String, der die eindeutige Kennung für das Objekt enthält, das inspiziert wurde, um die RTCIceCandidatePairStats zu erstellen, die mit diesem Transport verknüpft sind.

srtpCipher Optional

Ein String, der den beschreibenden Namen des Schutzprofils angibt, das für den Secure Real-time Transport Protocol (SRTP)-Transport verwendet wird.

tlsVersion Optional

Ein String, der die vereinbarte TLS-Version enthält. Dies ist für DTLS-Transporte vorhanden und existiert nur, nachdem DTLS verhandelt wurde.

Allgemeine Instanz-Eigenschaften

Die folgenden Eigenschaften sind allen WebRTC-Statistikobjekten gemeinsam.

id

Ein String, der das Objekt eindeutig identifiziert, das überwacht wird, um diese Statistikdaten zu erzeugen.

timestamp

Ein DOMHighResTimeStamp-Objekt, das den Zeitpunkt angibt, zu dem die Probe für dieses Statistikobjekt entnommen wurde.

type

Ein String mit dem Wert "transport", der den Statistike-Typ angibt, den das Objekt enthält.

Beispiele

Dieses Beispiel zeigt eine Funktion, die die Transportstatistiken zurückgibt oder null, falls keine Statistiken bereitgestellt werden.

Die Funktion wartet auf das Ergebnis eines Aufrufs von RTCPeerConnection.getStats() und durchläuft dann den zurückgegebenen RTCStatsReport, um nur die Statistiken des Typs "transport" zu erhalten. Es gibt dann die Statistiken oder null anhand der im Bericht enthaltenen Daten zurück.

js
async function getTransportStats(peerConnection) {
  const stats = await peerConnection.getStats();

  for (const report of stats.values()) {
    if (report.type === "transport") {
      return report;
    }
  }

  return null;
}

Spezifikationen

Spezifikation
Identifiers for WebRTC's Statistics API
# dom-rtcstatstype-transport

Browser-Kompatibilität