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 July 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 bietet Informationen über den Transport (RTCDtlsTransport und dessen zugrundeliegenden RTCIceTransport), der von einem bestimmten Kandidatenpaar verwendet wird.

Die BUNDLE-Funktion ist eine SDP-Erweiterung, die es ermöglicht, die Nutzung eines einzigen Transports für das Senden und Empfangen von Medien, die durch mehrere SDP-Medienbeschreibungen beschrieben werden, zu verhandeln. Wenn der entfernte Endpunkt von dieser Funktion Kenntnis hat, werden alle MediaStreamTrack und Datenkanäle beim Abschluss der Verhandlung auf einen einzelnen Transport gebündelt. Dies ist bei aktuellen Browsern der Fall, aber wenn die Verbindung zu einem älteren Endpunkt hergestellt wird, der nicht BUNDLE-kompatibel ist, könnten separate Transporte für verschiedene Medien verwendet werden. Die zu verwendende Politik in der Verhandlung wird im RTCPeerConnection-Konstruktor konfiguriert.

Diese Statistiken können erlangt werden, indem der RTCStatsReport durchiteriert wird, der von RTCPeerConnection.getStats() zurückgegeben wird, bis ein Bericht mit dem type von transport gefunden wird.

Instanzattribute

bytesReceived Optional

Die Gesamtzahl der auf diesem Transport empfangenen Nutzlastbytes (empfangene Bytes, ohne Kopfzeilen, Füllung oder ICE-Konnektivitätsprüfungen).

bytesSent Optional

Die Gesamtzahl der über diesen Transport gesendeten Nutzlastbytes (gesendete Bytes, ohne Kopfzeilen, Füllung oder ICE-Konnektivitätsprüfungen).

dtlsCipher Optional

Ein String, der den Namen der für den DTLS-Transport verwendeten Chiffre-Suite angibt, wie zum Beispiel 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 Benutzernamen-Fragment angibt, das die von diesem Transport verwaltete ICE-Interaktions-Sitzung eindeutig identifiziert.

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 erst nachdem DTLS verhandelt wurde.

packetsReceived Optional

Die Gesamtzahl der auf diesem Transport empfangenen Pakete.

packetsSent Optional

Die Gesamtzahl der über diesen Transport gesendeten Pakete.

remoteCertificateId Optional

Ein String, der die ID oder das entfernte Zertifikat enthält, das von diesem Transport verwendet wird. Nur für DTLS-Transporte vorhanden und erst nachdem DTLS verhandelt wurde.

selectedCandidatePairChanges Optional

Die Anzahl, wie oft sich das ausgewählte Kandidatenpaar dieses Transports geändert hat. Der Wert ist anfangs null und erhöht sich, wann immer ein Kandidatenpaar ausgewählt oder verloren wird.

selectedCandidatePairId Optional

Ein String, der den eindeutigen Bezeichner für das Objekt enthält, das inspiziert wurde, um die RTCIceCandidatePairStats zu erzeugen, die mit diesem Transport assoziiert 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 verhandelte TLS-Version enthält. Dies ist für DTLS-Transporte vorhanden und existiert nur, nachdem DTLS verhandelt wurde.

Gemeinsame Instanzattribute

Die folgenden Attribute sind allen WebRTC-Statistikobjekten gemeinsam.

id

Ein String, der das Objekt eindeutig identifiziert, das überwacht wird, um diesen Satz von Statistiken zu erzeugen.

timestamp

Ein DOMHighResTimeStamp-Objekt, das die Zeit angibt, zu der die Probe für dieses Statistikobjekt entnommen wurde.

type

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

Beispiele

Dieses Beispiel zeigt eine Funktion, um die Transportstatistiken zurückzugeben, oder null, wenn 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. Sie gibt dann die Statistiken oder null zurück, indem sie die Daten im Bericht verwendet.

js
async function numberOpenConnections (peerConnection) {
  const stats = await peerConnection.getStats();
  let transportStats = null;

  stats.forEach((report) => {
    if (report.type === "transport") {
      transportStats = report;
      break;
    }
  });

return transportStats
}

Spezifikationen

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

Browser-Kompatibilität