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
bytesReceivedOptional-
Die Gesamtzahl der auf diesem Transport empfangenen Nutzlastbytes (empfangene Bytes, ohne Kopfzeilen, Füllung oder ICE-Konnektivitätsprüfungen).
bytesSentOptional-
Die Gesamtzahl der über diesen Transport gesendeten Nutzlastbytes (gesendete Bytes, ohne Kopfzeilen, Füllung oder ICE-Konnektivitätsprüfungen).
dtlsCipherOptional-
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. 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 Benutzernamen-Fragment angibt, das die von diesem Transport verwaltete ICE-Interaktions-Sitzung eindeutig identifiziert.
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 erst nachdem DTLS verhandelt wurde.
packetsReceivedOptional-
Die Gesamtzahl der auf diesem Transport empfangenen Pakete.
packetsSentOptional-
Die Gesamtzahl der über diesen Transport gesendeten Pakete.
remoteCertificateIdOptional-
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.
selectedCandidatePairChangesOptional-
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.
selectedCandidatePairIdOptional-
Ein String, der den eindeutigen Bezeichner für das Objekt enthält, das inspiziert wurde, um die
RTCIceCandidatePairStatszu erzeugen, die mit diesem Transport assoziiert 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 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.
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> |