RTCPeerConnectionStats
Das RTCPeerConnectionStats
Wörterbuch der WebRTC API liefert Informationen über die high-level Peer-Verbindung (RTCPeerConnection
).
Insbesondere liefert es die Anzahl der einzigartigen Datenkanäle, die geöffnet wurden, sowie die Anzahl der geöffneten Kanäle, die geschlossen wurden. Dadurch kann die aktuelle Anzahl der offenen Kanäle berechnet werden.
Diese Statistiken können durch Iterieren des RTCStatsReport
, das von RTCPeerConnection.getStats()
zurückgegeben wird, erhalten werden, bis Sie einen Bericht mit dem type
peer-connection
finden.
Instanzeigenschaften
dataChannelsOpened
-
Ein positiver Integer-Wert, der die Anzahl der einzigartigen
RTCDataChannel
Objekte angibt, die während ihrer Lebenszeit in denopen
Zustand gewechselt sind. dataChannelsClosed
-
Ein positiver Integer-Wert, der die Anzahl der einzigartigen
RTCDataChannel
Objekte angibt, die denopen
Zustand während ihrer Lebenszeit verlassen haben (Kanäle, die in den Zustandclosing
oderclosed
übergehen, ohne jemalsopen
gewesen zu sein, werden in dieser Zahl nicht berücksichtigt). Ein Kanal verlässt denopen
Zustand, wenn entweder das Ende der Verbindung oder das zugrunde liegende Transport geschlossen wird.
Gemeinsame Instanzeigenschaften
Die folgenden Eigenschaften sind allen WebRTC Statistikobjekten gemeinsam.
id
-
Ein String, der das Objekt, das überwacht wird, um diesen Satz von Statistiken zu erstellen, eindeutig identifiziert.
timestamp
-
Ein
DOMHighResTimeStamp
Objekt, das den Zeitpunkt angibt, zu dem die Stichprobe für dieses Statistikobjekt genommen wurde. type
-
Ein String mit dem Wert
"peer-connection"
, der den Typ der Statistiken angibt, die das Objekt enthält.
Beispiele
Dieses Beispiel zeigt eine Funktion, die die Gesamtzahl der offenen Verbindungen zurückgibt oder null
, wenn keine Statistiken bereitgestellt werden. Dies könnte in einer Schleife aufgerufen werden, ähnlich wie in dem Ansatz, der im RTCPeerConnection.getStats()
Beispiel verwendet wird.
Die Funktion wartet auf das Ergebnis eines Aufrufs von RTCPeerConnection.getStats()
und iteriert dann über den zurückgegebenen RTCStatsReport
, um nur die Statistiken vom Typ "peer-connection"
zu erhalten. Anschließend gibt sie die Gesamtzahl der offenen Kanäle oder null
anhand der im Bericht enthaltenen Daten 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 |
Browser-Kompatibilität
BCD tables only load in the browser