Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RTCPeerConnectionStats
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Mai 2023.
DasRTCPeerConnectionStats-Wörterbuch derWebRTC API liefert Informationen über die hochrangige Peer-Verbindung (RTCPeerConnection).
Insbesondere gibt es die Anzahl der einzigartigen Datenkanäle an, die geöffnet wurden, sowie die Anzahl der geöffneten Kanäle, die geschlossen wurden.Dies ermöglicht die Berechnung der aktuellen Anzahl der offenen Kanäle.
Diese Statistiken können erhalten werden, indem derRTCStatsReport, der vonRTCPeerConnection.getStats() zurückgegeben wird, durchlaufen wird, bis Sie einen Bericht mit demtypepeer-connection finden.
In diesem Artikel
Instanzeigenschaften
dataChannelsOpenedEin positiver ganzzahliger Wert, der die Anzahl der einzigartigen
RTCDataChannel-Objekte angibt, die in ihren Lebenszyklen in denopen-Zustand übergegangen sind.dataChannelsClosedEin positiver ganzzahliger Wert, der die Anzahl der einzigartigen
RTCDataChannel-Objekte angibt, die denopen-Zustand in ihrem Lebenszyklus verlassen haben (Kanäle, die in den Zustandclosingoderclosedübergehen, ohne jemalsopengewesen zu sein, werden in dieser Zahl nicht berücksichtigt).Ein Kanal verlässt denopen-Zustand, wenn entweder ein Ende der Verbindung oder das zugrundeliegende Transportmittel geschlossen wird.
Gemeinsame Instanzeigenschaften
Die folgenden Eigenschaften sind allen WebRTC-Statistikobjekten gemeinsam.
idEin String, der das Objekt, das überwacht wird, um diesen Satz von Statistiken zu erzeugen, eindeutig identifiziert.
timestampEin
DOMHighResTimeStamp-Objekt, das den Zeitpunkt angibt, zu dem die Probe für dieses Statistikobjekt entnommen wurde.typeEin String mit dem Wert
"peer-connection", der den Typ der Statistik angibt, die das Objekt enthält.
Beispiele
Dieses Beispiel zeigt eine Funktion, die die Gesamtanzahl der offenen Verbindungen zurückgibt odernull, wenn keine Statistiken bereitgestellt werden.Dies könnte in einer Schleife aufgerufen werden, ähnlich dem Ansatz, der imRTCPeerConnection.getStats()-Beispiel verwendet wird.
Die Funktion wartet auf das Ergebnis eines Aufrufs vonRTCPeerConnection.getStats() und durchläuft dann den zurückgegebenenRTCStatsReport, um nur die Statistiken des Typs"peer-connection" zu erhalten.Anschließend gibt sie die Gesamtanzahl der offenen Kanäle odernull mit den Daten im Bericht zurück.
async function numberOpenConnections (peerConnection) { const stats = await peerConnection.getStats(); let peerConnectionStats = null; stats.forEach((report) => { if (report.type === "peer-connection") { peerConnectionStats = report; break; } });result = (typeof peerConnectionStats.dataChannelsOpened === 'undefined' || typeof peerConnectionStats.dataChannelsClosed=== 'undefined') ? null : peerConnectionStats.dataChannelsOpened - peerConnectionStats.dataChannelsClosed;return result}Spezifikationen
| Specification |
|---|
| Identifiers for WebRTC's Statistics API> # dom-rtcstatstype-peer-connection> |