RTCTransportStats
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das RTCTransportStats
-Wörterbuch des WebRTC API liefert Informationen über den Transport (RTCDtlsTransport
und dessen zugrunde liegenden RTCIceTransport
), der von einem bestimmten Kandidatenpaar verwendet wird.
Die BUNDLE-Funktion ist eine SDP-Erweiterung, die es ermöglicht, einen einzelnen Transport für das Senden und Empfangen von Medien zu verhandeln, die durch mehrere SDP-Medienbeschreibungen beschrieben werden.
Wenn das Remote-Endpunkt mit dieser Funktion vertraut ist, werden alle MediaStreamTrack
und Datenkanäle bei Abschluss der Verhandlung auf einen einzigen Transport gebündelt.
Dies gilt für aktuelle Browser, aber wenn eine Verbindung zu einem älteren Endpunkt hergestellt wird, der nicht BUNDLE-fähig ist, könnten separate Transports für verschiedene Medien verwendet werden.
Die zu verwendende Richtlinie für die Verhandlung wird im RTCPeerConnection
Konstruktor konfiguriert.
Diese Statistiken können durch Iteration über den RTCStatsReport
abgerufen werden, der von RTCPeerConnection.getStats()
zurückgegeben wird, bis Sie einen Bericht mit dem type
transport
finden.
Instanz-Eigenschaften
bytesReceived
Optional-
Die Gesamtzahl der Nutzlast-Bytes, die über diesen Transport empfangen wurden (empfangene Bytes, die keine Header, Padding oder ICE-Konnektivitätsprüfungen umfassen).
bytesSent
Optional-
Die Gesamtzahl der Nutzlast-Bytes, die über diesen Transport gesendet wurden (gesendete Bytes, die keine Header, Padding oder ICE-Konnektivitätsprüfungen umfassen).
dtlsCipher
Optional-
Ein String, der den Namen der Verschlüsselungssuite angibt, die für den DTLS-Transport verwendet wird, wie z.B.
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
. dtlsRole
Optional Experimentell-
Ein String, der die DTLS-Rolle der zugehörigen
RTCPeerConnection
angibt. Diese ist eine von:client
,server
,unknown
(bevor die DTLS-Verhandlung beginnt). dtlsState
-
Ein String, der den aktuellen
state
des zugrunde liegendenRTCDtlsTransport
angibt. Diese ist eine von:new
,connecting
,connected
,closed
,failed
. iceLocalUsernameFragment
Optional Experimentell-
Ein String, der das lokale Benutzername-Fragment angibt, das die ICE-Interaktionssitzung eindeutig identifiziert, die von diesem Transport verwaltet wird.
iceRole
Optional Experimentell-
Ein String, der die ICE-
role
des zugrunde liegendenRTCIceTransport
angibt. Diese ist eine von:controlled
,controlling
, oderunknown
. iceState
Optional Experimentell-
Ein String, der den aktuellen
state
des zugrunde liegendenRTCIceTransport
angibt. Diese ist eine von:new
,checking
,connected
,completed
,disconnected
,failed
, oderclosed
. localCertificateId
Optional-
Ein String, der die ID des lokalen Zertifikats enthält, das durch diesen Transport verwendet wird. Nur für DTLS-Transporte vorhanden, und nachdem DTLS ausgehandelt wurde.
packetsReceived
Optional Experimentell-
Die Gesamtzahl der Pakete, die auf diesem Transport empfangen wurden.
packetsSent
Optional Experimentell-
Die Gesamtzahl der Pakete, die über diesen Transport gesendet wurden.
remoteCertificateId
Optional-
Ein String, der die ID oder das Remote-Zertifikat enthält, das durch diesen Transport verwendet wird. Nur für DTLS-Transporte vorhanden, und nachdem DTLS ausgehandelt wurde.
selectedCandidatePairChanges
Optional-
Die Anzahl der Male, die das ausgewählte Kandidatenpaar dieses Transports geändert wurde. Der Wert ist zunächst null und erhöht sich jedes Mal, wenn ein Kandidatenpaar ausgewählt oder verloren wird.
selectedCandidatePairId
Optional-
Ein String, der die eindeutige Kennung für das Objekt enthält, das untersucht wurde, um die mit diesem Transport verknüpften
RTCIceCandidatePairStats
zu erzeugen. 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 ausgehandelte TLS-Version enthält. Diese ist für DTLS-Transporte vorhanden und existiert nur, nachdem DTLS ausgehandelt wurde.
Allgemeine Instanz-Eigenschaften
Die folgenden Eigenschaften sind allen WebRTC-Statistikobjekten gemeinsam.
id
-
Ein String, der das Objekt, das überwacht wird, um diesen Satz von Statistiken zu erzeugen, eindeutig identifiziert.
timestamp
-
Ein
DOMHighResTimeStamp
-Objekt, das die Zeit angibt, zu der die Stichprobe 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, die die Transportstatistiken zurückgibt, oder null
, wenn keine Statistiken bereitgestellt werden.
Die Funktion wartet auf das Ergebnis eines Aufrufs von RTCPeerConnection.getStats()
und iteriert dann über 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
Specification |
---|
Identifiers for WebRTC's Statistics API # dom-rtcstatstype-transport |