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
bytesReceivedOptional-
Die Gesamtanzahl der Nutzdaten-Bytes, die über diesen Transport empfangen wurden (empfangene Bytes, ohne Header, Padding oder ICE-Konnektivitätschecks).
bytesSentOptional-
Die Gesamtanzahl der Nutzdaten-Bytes, die über diesen Transport gesendet wurden (gesendete Bytes, ohne Header, Padding oder ICE-Konnektivitätschecks).
dtlsCipherOptional-
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. dtlsRoleOptional-
Ein String, der die DTLS-Rolle der zugehörigen
RTCPeerConnectionangibt. Dies ist eine der folgenden:client,server,unknown(bevor die DTLS-Verhandlung beginnt). dtlsState-
Ein String, der den aktuellen
statedes zugrundeliegendenRTCDtlsTransportangibt. Dies ist eine der folgenden:new,connecting,connected,closed,failed. iceLocalUsernameFragmentOptional-
Ein String, der das lokale Benutzernamenfragment angibt, das die ICE-Interaktionssitzung eindeutig identifiziert, die von diesem Transport verwaltet wird.
iceRoleOptional-
Ein String, der die ICE-
roledes zugrundeliegendenRTCIceTransportangibt. Dies ist eine der folgenden:controlled,controlling, oderunknown. iceStateOptional-
Ein String, der den aktuellen
statedes zugrundeliegendenRTCIceTransportangibt. Dies ist eine der folgenden:new,checking,connected,completed,disconnected,failed, oderclosed. localCertificateIdOptional-
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.
packetsReceivedOptional-
Die Gesamtanzahl der über diesen Transport empfangenen Pakete.
packetsSentOptional-
Die Gesamtanzahl der über diesen Transport gesendeten Pakete.
remoteCertificateIdOptional-
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.
selectedCandidatePairChangesOptional-
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.
selectedCandidatePairIdOptional-
Ein String, der die eindeutige Kennung für das Objekt enthält, das inspiziert wurde, um die
RTCIceCandidatePairStatszu erstellen, die mit diesem Transport verknüpft sind. srtpCipherOptional-
Ein String, der den beschreibenden Namen des Schutzprofils angibt, das für den Secure Real-time Transport Protocol (SRTP)-Transport verwendet wird.
tlsVersionOptional-
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.
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> |