Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
RTCTransportStats
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Das RTCTransportStats-Wörterbuch der WebRTC-API liefert Informationen über den Transport (RTCDtlsTransport und dessen zugrunde liegendes RTCIceTransport), der von einem bestimmten Kandidatenpaar verwendet wird.
Das BUNDLE-Feature ist eine SDP-Erweiterung, die es erlaubt, die Nutzung eines einzigen Transports für das Senden und Empfangen von Medien, die durch mehrere SDP-Medienbeschreibungen dargestellt werden, zu verhandeln.
Wenn der entfernte Endpunkt mit diesem Feature vertraut ist, werden alle MediaStreamTrack und Datenkanäle nach Abschluss der Verhandlung auf einen einzigen Transport gebündelt.
Dies ist in aktuellen Browsern der Fall, aber wenn die Verbindung zu einem älteren Endpunkt hergestellt wird, der das BUNDLE-Feature nicht kennt, könnten unterschiedliche Transports für verschiedene Medien verwendet werden.
Die für die 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 ein Bericht mit dem type von transport gefunden wird.
Instanzattribute
bytesReceivedOptional-
Die Gesamtzahl der Nutzdaten-Bytes, die auf diesem Transport empfangen wurden (empfangene Bytes, ohne Header, Padding oder ICE-Konnektivitätsprüfungen).
bytesSentOptional-
Die Gesamtzahl der Nutzdaten-Bytes, die über diesen Transport gesendet wurden (gesendete Bytes, ohne Header, Padding oder ICE-Konnektivitätsprüfungen).
dtlsCipherOptional-
Ein String, der den Namen der für den DTLS-Transport verwendeten Verschlüsselungssuite angibt, 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 zugrunde liegendenRTCDtlsTransportangibt. Dies ist eine der folgenden:new,connecting,connected,closed,failed. iceLocalUsernameFragmentOptional-
Ein String, der das lokale Benutzername-Fragment angibt, das die durch diesen Transport verwaltete ICE-Interaktionssession eindeutig identifiziert.
iceRoleOptional-
Ein String, der die ICE-
roledes zugrunde liegendenRTCIceTransportangibt. Dies ist eine der folgenden:controlled,controllingoderunknown. iceStateOptional-
Ein String, der den aktuellen
statedes zugrunde liegendenRTCIceTransportangibt. Dies ist eine der folgenden:new,checking,connected,completed,disconnected,failedoderclosed. localCertificateIdOptional-
Ein String, der die ID des von diesem Transport verwendeten lokalen Zertifikats enthält. Ist nur für DTLS-Transporte vorhanden und nur, nachdem DTLS verhandelt wurde.
packetsReceivedOptional-
Die Gesamtzahl der über diesen Transport empfangenen Pakete.
packetsSentOptional-
Die Gesamtzahl der über diesen Transport gesendeten Pakete.
remoteCertificateIdOptional-
Ein String, der die ID des entfernten von diesem Transport verwendeten Zertifikats enthält. Ist nur für DTLS-Transporte vorhanden und nur, nachdem DTLS verhandelt wurde.
selectedCandidatePairChangesOptional-
Die Anzahl der Male, zu denen das ausgewählte Kandidatenpaar dieses Transports geändert wurde. Der Wert ist anfangs null und steigt, wann immer ein Kandidatenpaar ausgewählt oder verloren wird.
selectedCandidatePairIdOptional-
Ein String, der die eindeutige Kennung des Objekts enthält, das untersucht wurde, um die mit diesem Transport verbundene
RTCIceCandidatePairStatszu erzeugen. srtpCipherOptional-
Ein String, der den beschreibenden Namen des Schutzprofils für den Secure Real-time Transport Protocol (SRTP)-Transport angibt.
tlsVersionOptional-
Ein String, der die ausgehandelte TLS-Version enthält. Ist für DTLS-Transporte vorhanden, und existiert nur, nachdem DTLS verhandelt wurde.
Allgemeine Instanzattribute
Die folgenden Attribute sind bei allen WebRTC-Statistikobjekten üblich.
id-
Ein String, der das zu überwachende Objekt, das diese Statistiken erstellt, eindeutig identifiziert.
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 Typ der enthaltenen Statistiken angibt.
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 durchläuft dann den zurückgegebenen RTCStatsReport, um nur die Statistiken des Typs "transport" zu erhalten.
Sie gibt dann die Statistiken oder null mit den im Bericht enthaltenen Daten zurück.
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
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.